
Oracle basic knowledge
文章平均质量分 82
大数据最好
大数据,机器学习,深度学习
展开
-
硬解析 软解析
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析。在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。还有一类就是DML语句(数据操纵语言),他们会根据情况选择要么进行硬解析,要么进行软解析。 DML:INSERT,UPDATE,DELETE,SELECTDD原创 2015-01-15 23:09:46 · 731 阅读 · 0 评论 -
CR块详解
转自:http://blog.youkuaiyun.com/cymm_liu/article/details/74967751、概述Cr块consistent read块也就是用来维护oracle的读一致性的数据块。当查询某些数据的时候,发现数据块的版本比我们要查询的新,例如session1执行了dml操作并没有提交,session2此时查找跟session1相关的dml操作的数据信息,此转载 2015-02-06 16:40:15 · 836 阅读 · 0 评论 -
坏块
什么是数据库的坏块 首先我们来大概看一下数据库块的格式和结构数据库的数据块有固定的格式和结构,分三层:cache layer,transaction layer,data layer。在我们对数据块进行读取写入操作的时候,数据库会对要读写的数据块做一致性的检查,其中包括:数据块的类型、数据块的地址信息、数据块的SCN号以及数据块的头部和尾部。如果发现其中有不一致的信息,那数据库就会标记原创 2015-02-06 16:44:51 · 857 阅读 · 0 评论 -
固体表和DUAL表的介绍
固态表固态表是Oracle中的一种特殊表,以X$开头,属于SYS用户。它们存储的是Oracle实例内部使用的运行数据,如一些性能统计数据、latch信息等;在实例启动时加载到内存中,并在数据库的运行过程中动态添加删除,在实例关闭时被释放。系统中所有固态表可以由视图v$fixed_table查询得到。除SYS用户外,其他用户都不能直接查询固态表,只能通过视图查询。DUAL表原创 2015-02-06 17:38:20 · 466 阅读 · 0 评论 -
碎片简介
1、碎片是如何产生的当生成一个数据库时,它会 分成称为表空间( Tablespace )的多个逻辑段( Segment ),如系统( System )表空间 , 临时( Temporary )表空间等。一个表空间可以包含多个数据范围( Extent )和一个或多个自由范围块,即自由空间( Free Space )。表空间、段、范围、自由空间的逻辑关系如下:当表空间中生成一个段时,将从表原创 2015-02-06 18:10:51 · 348 阅读 · 0 评论 -
表类型
1、堆组织表,就是普通的标准数据库表,数据以堆的方式管理。堆其实就是一个很大的空间,会一种随机的方式管理数据,数据会放在合适的地方。例如建立一张表create table t(id int,name varchar2(20));插入三条记录insert into t values(1,'a');insert into t values(2,'b');insert into原创 2015-02-06 17:20:33 · 467 阅读 · 0 评论 -
分区索引
oracle对于分区表上的索引分为2类,即局部索引和全局索引局部索引local index1. 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区数,一句话,局部索引的分区机制和表的分区机制一样。2. 如果局部索引的索引列以分区键开头,则称为前缀局部索引。3. 如果局部索引的列不是以分区键开头,或者不包含分区键列,原创 2015-02-06 17:33:21 · 372 阅读 · 0 评论 -
事务隔离级别
事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。2、不可重复读取:事务T1读取一行记录,紧接着事务T原创 2015-02-06 18:06:02 · 312 阅读 · 0 评论 -
表簇 索引化表簇 哈希簇
表簇概述表簇是一组表,它们共享公共的列,并将相关的数据存储在相同的数据块中。当表被聚簇时,单个数据块可以包含多个表中的行。例如,一个块可以同时存储来自employees表和departments表的行,而不只是单个表中的行。簇键是所有被聚簇的表的共有列或列集。例如,employees表和departments表共享 department_id 列。您在创建表簇时,和创建被添加到表簇的每个表时,原创 2015-02-06 17:59:11 · 776 阅读 · 0 评论 -
约束
约束定义约束是强加在表上的规则或条件。确保数据库满足业务规则。保证数据的完整性。当对表进行DML或DDL操作时,如果此操作会造成表中的数据违反约束条件或规则的话,系统就会拒绝执行这个操作。约束可以是列一级别的 也可以是表级别的。定义约束时没有给出约束的名字,ORACE系统将为该约束自动生成一个名字,其格式为SYS_Cn,其中n为自然数(强烈建议各位在创建表或增加约束时,给约束定义名称。).原创 2015-02-06 18:14:20 · 399 阅读 · 0 评论 -
视图
转自:http://blog.youkuaiyun.com/tianlesoftware/article/details/5530618一. 视图的定义 视图(view),也称虚表,不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL. 视图是从一个或多个实际表中获得的,这些表转载 2015-02-10 21:30:26 · 337 阅读 · 0 评论 -
物化视图
转自:http://blog.youkuaiyun.com/tianlesoftware/article/details/4713553一. 物化视图概述Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的转载 2015-02-10 22:29:39 · 370 阅读 · 0 评论 -
oracle 全局临时表
临时表(Tempotary table)用于保存事务或会话期间的中间结果集。临时表中保存的数据只对当前会话可见,所有会话都看不到其他会话的数据;即使当前会话已经提交了(commit)数据,别的会话也看不到它的数据。对于临时表,不存在多用户并发的问题,因为一个会话不会因为使用一个临时表而阻塞另一个会话。即使我们“锁住”了临时表,也不会妨碍其他会话使用临时表。 临时表比原创 2015-04-07 13:38:10 · 4930 阅读 · 0 评论 -
锁机制详解
oracle数据库有两种锁策略,分别为悲观锁和乐观锁:一.悲观锁当用户想要修改一条数据时,根据键盘上的输入的数据,应用将提供绑定变量的值,然后重新利用这些绑定的变量的值作为过滤条件去查询这一行,这一次会锁定这一行,不允许其他会话更新。在试图更新前就把记录锁住了,我们很悲观,对于这一行能不能保持未改变很是怀疑。注意: 1.如果在查询这条数据和锁这条数据之间,有原创 2015-02-10 18:26:38 · 494 阅读 · 0 评论 -
表空间详解
表空间介绍:表空间用于从逻辑上组织数据库的数据数据库逻辑上是由一个或是多个表空间组成的 表空间的作用:1、控制数据库占用的磁盘空间2、dba可以将不同数据类型部署到不同的位置。这样有利于提高i/o性能,同时利于备份和恢复等管理操作Oracle数据库中表空间的处理方式在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。 第一步:建原创 2015-02-06 16:27:47 · 469 阅读 · 0 评论 -
redo
什么是REDO REDO记录transaction logs,分为online和archived。以恢复为目的。 比如,机器停电,那么在重起之后需要online redo logs去恢复系统到失败点。 比如,磁盘坏了,需要用archived redo logs和online redo logs区恢复数据。 比如,truncate一个表或其他的操作,想恢复到之前的状态,同样也需要。原创 2015-02-06 15:10:30 · 477 阅读 · 0 评论 -
checkpoint
checkpoint:当用户提交事务,写数据文件是"异步"的,写日志文件是"同步"的。这就可能导致数据库实例崩溃时,内存中的DB_Buffer 中的修改过的数据,可能没有写入到数据块中。数据库在重新打开时,需要进行恢复,来恢复DB Buffer 中的数据状态,并确保已经提交的数据被写入到数据块中。检查点是这个过程中的重要机制,通过它来确定,恢复时哪些重做日志应该被扫描并应用于恢复。原创 2015-01-15 23:16:02 · 606 阅读 · 0 评论 -
Oracle物理结构
物理存储结构是指从物理角度分析数据库的构成,即Oracle数据库创建后所使用的操作系统文件。从物理存储结构上分析:每一个Oracle数据库是主要由三种类型的文件组成:数据文件、日志文件和控制文件,另外还包括一些参数文件。其中:数据文件的扩展名为.DBF;日志文件的扩展名为.LOG;控制文件的扩展名为.CTL。一、数据文件 数据文件(Data File)用于存储原创 2015-02-03 17:27:42 · 511 阅读 · 0 评论 -
高水位线(HWM)
一、什么是水线(High Water Mark)?所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩原创 2015-02-03 16:51:58 · 1309 阅读 · 0 评论 -
Undo
What Is Undo?The purpose of redo is recover your operation,on the contrary,the purpose of undo is undo your operation.For example,your TRANSACTION is failed or you regret for the operation,at this原创 2015-02-03 21:11:57 · 464 阅读 · 0 评论 -
分区表详解
表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,原创 2015-02-03 16:13:51 · 472 阅读 · 0 评论 -
Oracle逻辑结构
ORACLE逻辑存储结构图如下由图可知一个表空间由一组段组成一个段由一组区组成一个区由一批数据库块组成一个数据库块对应一个或多个物理块一.表空间表空间是Oracle数据库最大的逻辑结构,一个Oracle数据库在逻辑上由多个表空间组成,一个表空间只隶属于一个数据库。Oracle中有一个称为SYSTEM的表空间,这个表空间原创 2015-02-03 17:16:11 · 549 阅读 · 0 评论 -
Shared pool
What is shared pool?shared Pool当中主要包含了2部分:library cache和dictionary cache 也称为 row cache。 Library cache包含了共享SQL区(shared SQL areas),私有SQL区(private SQLareas,如果配置了共享服务器),PL/SQL存储过程以及包,还有一些控制信息,比如说l原创 2015-01-15 22:53:49 · 617 阅读 · 0 评论 -
SCN
SCN(system change number)是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字。Oracle数据库中一共有4种SCN:1、系统检查点scn当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中。select checkpoint_change# from v$database2、数据文件检查点scn当一个检查点动作完原创 2015-01-15 23:12:42 · 499 阅读 · 0 评论 -
事务介绍
Introduction to TransactionsA transaction is a logical, atomic unit of work that contains one or more SQL statements. A transaction groups SQL statements so that they are either allcommitted, wh原创 2015-02-04 16:48:45 · 485 阅读 · 0 评论 -
flashback
Flashback Flashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数。要使用flashback 的特性,必须启用自动撤销管理表空间。 在Oracle 11g里又出了一个新特性:Oracle Flashback Data Archive. FDA通过将变化数据另外存储到创建的闪回归原创 2015-02-03 16:35:51 · 393 阅读 · 0 评论 -
关系型数据库--范式
第一范式(1NF)所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。说明:在任何一个关系数据库中,第一范原创 2015-02-03 23:42:30 · 835 阅读 · 0 评论 -
数据块详解
数据库的逻辑结构包括:数据块,区,段,表空间。 Oracle数据块是Oracle数据库存储基础,有磁盘空间的若干字节组成,数据块是oracle数据库的最小逻辑单元,可以定义数据块为2k、4k、8k、16k、32k甚至更大,默认oracle块大小是8k,通常我们称为oracle块。当然正常情况下oracle块应该是os块的整数倍,当然具有标准大小的块叫做标准块,和标准块不同的块叫做非标准块。原创 2015-02-06 16:35:10 · 2360 阅读 · 1 评论 -
buffer cache
buffer cache的基本原理" title="oracle buffer cache的基本原理" height="420" width="552">Organization of the Database Buffer Cache The buffers in the cache are organized in two lists: the write原创 2015-02-06 16:49:37 · 423 阅读 · 0 评论