
Oracle Concept
文章平均质量分 72
flighting_sky
这个作者很懒,什么都没留下…
展开
-
索引组织表
索引组织表(index-organized index)由上图可以看出索引组织表的一个明显特点就是,B-tree结构但leaf block存放的是数据行,没有physical rowid的出现。1、对于索引组织表和堆表的区别,下面截取了ORACLE技术文档内容来说明:2、溢出区(Overflow Area)索引组织表的一个缺点就是比较容易导致块的分割和存储密原创 2013-04-29 23:39:06 · 2669 阅读 · 0 评论 -
检查点类型
CKPT负责把检查点写入控制文件和数据文件头。检查点有以下类型:Thread checkpoints其为数据库检查点,在以下情况下会出现这种检查点:一致性关闭数据库;ALTER SYSTERM CHECKPOINT语句;online redo log file的切换;ALTER DATABASE BEGIN BACKUP语句;Tablespa原创 2013-07-27 11:19:07 · 710 阅读 · 0 评论 -
oracle--压缩
一:data block compressionORACLE数据库使用table compression来消除数据块中的重复值。原理:简单来说,就是在数据块的开始保存了一个symbol table以存储数据块中重复的行和列的信息,然后在行中只会用这些symbol来标识这些重复的行和列的信息。如下图:压缩前的数据:压缩后的数据:二:key co原创 2013-04-29 23:30:36 · 636 阅读 · 0 评论 -
ROWID
一、ROWID的分类physical rowid:表示存储在堆表、聚集表、表分区、索引分区中的行地址;logical rowid:表示存储在index-organized table的行地址;foreign rowid:作为外部表的标识,不具有标准的ORACLE ROWID格式。注意:UROWID或叫universal rowid支持所有种类的rowid。二:ROWID的用途原创 2013-04-28 04:54:59 · 849 阅读 · 0 评论 -
视图的相关知识
1、怎样访问视图首先需要知道的是,视图只是保存在数据字典中的一条SQL语句。所以当一个SQL语句中使用了视图这个对象,数据库在解析这条SQL语句之前先利用数据字典中该视图的定义语句跟当前的SQL语句进行整合,以便该SQL语句可以使用到底层表上相关列的索引来进行优化。2、Updatable Join Views一个Join View是指FROM子句中包括有多个基表或视图的视图。而Upda原创 2013-04-30 18:21:11 · 540 阅读 · 0 评论 -
Oracle数据块体系介绍
数据块概述Oracle对数据库数据文件(datafile)中的存储空间进行管理的单位是数据块(data block)。数据块是数据库中最小的(逻辑)数据单位。与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节(byte)。每种操作系统都有一个被称为块容量(block size)的参数。Oracle每次获取数据时,总是访问整个数(Oracle)数据块,而不是按照操作系统块的容量访问数据转载 2012-12-15 20:23:32 · 689 阅读 · 0 评论 -
高水位线
High Water Mark(高水位线)在HWM之上的所有数据块都是unformatted和unused;在HWM之下的数据块则存在多种情况:已经分配,但是unformatted和unused;formatted并且存有数据;formatted但是没有数据,因为数据被delete了;除了高水位线之外,还有一个Low High Water Mark。Low HWM之下的所有数据原创 2013-05-01 23:48:01 · 658 阅读 · 0 评论 -
模式对象的命名规则和命名空间
一、 命名规则参考ORACLE 11g Document Library 的官方文档:Basic namesBasic names identify columns, tables, views and indexes. Basic names must follow these rules:1、The maximum length of a basic name is 30 ch原创 2012-12-08 15:47:10 · 1869 阅读 · 0 评论 -
Oracle 隐式转换与显式转换
隐式转换的发生条件 当源数据的类型和目标数据的类型不同的时候,如果没有转换函数,就会发生隐式转换,也称自动转换。当然,有些情况下有些类型是不可以发生转换的,比如说从DATE类型转换到NUMBER类型就会报错。 隐式转换的问题 第一, 隐式转换的最大问题就是转换时会导致索引的无效,进而可能导致全表扫描。当表的数据量很大的时候,产生会很大的性能问题原创 2012-12-01 20:45:10 · 3339 阅读 · 0 评论 -
闪回技术(5):闪回数据库【还原点】
restore points: 还原点,可以理解为SCN的别名,便于理解该SCN点上发生操作的显示意义,如before upgrade等等。还原点的名称和SCN保存在控制文件中。按照存在时间又有以下分类:normal restore points 该还原点为轻量级的,可以在控制文件中保存很多,而且可以一直存在于控制文件中,直到达到控制文件规定的时间或者手动删除。guaran原创 2013-08-11 16:14:45 · 1066 阅读 · 0 评论 -
逻辑读与物理读
通常,当执行了set autotrace traceonly statistics,然后执行sql语句,就会返回下面的统计数据:recursive calls:递归调用。一般原因:dictionary cache未命中;动态存储扩展;PL/SQL语句db block gets:从buffer中读取的数据块数量。也就是即时读,通常是执行DML操作的时候,需要对数据块添加行锁,以免其他会话对同原创 2013-07-24 16:57:16 · 842 阅读 · 0 评论 -
内存结构
内存结构,如下图:一、SGASGA组件除了Log buffer之外,空间的分配与释放所基于的基本单位都是granules,granules的大小是基于操作系统和SGA的大小。1、Database Buffer CacheDatabase Buffer Cache也叫buffer cache,保存从数据文件中读取的数据块。buffer cache可以实现下面两个目标:原创 2013-05-04 22:21:28 · 1039 阅读 · 0 评论 -
ADR的结构
ADR存储了各种用于数据库恢复和问题诊断的信息。以下为ADR的结构:alert该文件夹下保存的是XML格式的alert log文件。alert log文件中包含了下面这些信息:内部错误(ORA-600)、block corruption错误(ORA-1578)、deadlock错误(ORA-60);管理员操作,如DDL语句,STARTUP,SHUTDOWN,ARCH原创 2013-05-02 22:22:37 · 1097 阅读 · 0 评论 -
位图索引
位图索引1、位图索引采用了类似于B-tree的结构,只是在leaf block中所存储的内容为:index key+start ROWID+end ROWID+范围内的位图,如下:Shipping Clerk,AAAPzRAAFAAAABSABQ,AAAPzRAAFAAAABSABZ,0010000100Shipping Clerk,AAAPzRAAFAAAABSABa,AAAPzRA原创 2013-04-29 23:42:00 · 775 阅读 · 0 评论 -
分区
一、分区的特征1、partition key分区键,是指用来设置分区的一个或多个列。2、partition strategies分区策略,是指控制数据库如何把数据放进分区里面。2.1、Range Partitioning:顾名思义,根据分区键的范围确定数据行在哪一个分区里。如:CREATE TABLE time_range_sales( prod_id NUMBER(6原创 2013-04-29 23:45:53 · 726 阅读 · 0 评论 -
索引的种类
一、索引的特征1、usability【可用性】如果该索引为unusable,则优化器会忽略该索引,允许bulk load操作,不允许DML操作,同时ORACLE数据库会删除该索引所拥有的段。若要其可用,只需要rebuilt即可;2、visibility【有效性】如果该索引为invisible,则优化器会忽略该索引,允许DML操作。该设置主要用于索引删除前的测试或在不影响其他应用的前原创 2013-04-29 23:51:28 · 934 阅读 · 0 评论 -
事务的并发性和一致性(二)
Locking Mechanism(锁机制)一、锁机制的特征1、Lock mode要进行DML操作,必须同时拥有共享锁和排他锁,而对于DDL操作必须在对应表中没有任何共享锁的时候才能够进行。Exclusive lock mode:排他锁模式,该模式下只有一个事务可以获得锁;Share lock mode:共享锁模式,该模式下所有的事务都可以获得锁。共享锁是了避免DDL操作对原创 2013-05-02 00:02:52 · 884 阅读 · 0 评论 -
优化器
优化器(Optimizer)一、Query Transformer(语句转换)详细见博文:二、Estimator(评估)评估衡量类型:谓语的选择,基数,成本(I/O、CPU和内存)评估所需要的统计数据有:1.表统计信息:行数,数据块数,行的平均长度;2.列统计信息:列值的基数,NULL值的数量,数据的分布;3.索引统计信息:leaf block 的数量,原创 2013-04-30 23:20:58 · 719 阅读 · 0 评论 -
数据库文件结构
一、Online Redo Log其中的内容为redo records,而redo records是由一组change vectors组成,每个change vectors描述了每个数据块的改变。比如说对员工表的update操作,redo records记录了其对表数据块的改变、撤销段数据块的改变和撤销段transaction table的改变。redo records包括下面这些信息:原创 2013-05-01 23:59:16 · 1110 阅读 · 0 评论 -
SQL processing
SQL语句的处理(SQL processing)一、SQL语句的解析当应用程序向服务器发送SQL语句的时候,也就是parse call,服务器会在PGA中打开一个cursor(该cursor会有一个handle指向SGA中的private SQL area)来保存该SQL语句.1、syntax check(语法检查):检查SQL语句的语法是否完整;2、semantic原创 2013-04-30 23:21:46 · 934 阅读 · 0 评论 -
数据块(一)
Data block Format(数据块的结构)一、Data Block Overhead数据库使用数据块开销来管理每一个数据块。1、block header:记录了关于数据块的常规信息,包括磁盘地址和段类型等。还包括了活动或历史的事务信息。需要更新该数据块的事务必须要有事务实体。2、Table directory:对于堆表来说,table directory存有保留原创 2013-05-01 23:57:00 · 1175 阅读 · 0 评论 -
事务的并发性和一致性(一)
一、 multiversion consistency model(多版本的一致性模式)简单来说,ORACLE数据库通过在undo表空间中保留不同版本的数据块来满足一致性需求。从语句级别、事务级别的角度来讲,在每个级别的范围内,所读数据的版本都是该语句或事务开始时数据的版本。比如说,开始时是SCN为1000,则语句或事务运行过程中所处理的数据块都是SCN为1000时的数据。在RAC环境中,OR原创 2013-05-02 00:05:46 · 1403 阅读 · 0 评论 -
ORACLE 跟踪事件与产生文件
本文装载自:http://blog.youkuaiyun.com/47522341/article/details/3299592一、Oracle跟踪文件Oracle跟踪文件分为三种类型。一种是后台报警日志文件:记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任转载 2013-08-17 10:22:02 · 694 阅读 · 0 评论