读书笔记系列之《Oracle8i数据库管理员手册》第1页共27页ORACLE中国用户讨论组://’sE-Mail&MSN:morinson82@hotmail.commorinson@msn.com《Oracle8i数据库管理员手册》读书笔记第1章Oracle体系结构////===============================================================2004-2-1111:31数据块缓区和SQL共享池(SharedSQLPool)是SGA中的最大部分,一般占分配给SGA的内存95%以上。通过减少对数据文件的I/O次数,这些存储区域可以改善数据库性能。//===============================================================2004-2-1111:45Oracle数据库结构可分为三个范畴:.数据库内部的结构(如表)。.存储区内部的结构(包括共享存储区和进程)。.数据库外部的结构。//===============================================================2004-2-1111:53用户SYS和SYSTEM所拥有的表被称为数据字典表(datadictionarytable),数据字典表提供一个数据库用来管理自己的系统目录。数据字典由Oracle提供的一组目录脚本文件创建。每当安装或升级一个数据库时,都需要使用创建或修改数据字典表的脚本文件。当在数据库中安装一个新的选项时,可能要运行另外一些附加的目录脚本文件。//===============================================================////===============================================================2004-2-131:31在Oracle8中,当把一个大表分成若干小表时,可以规定一些范围供数据库使用。这些称作分区(partition)的小表比大表的管理更加简单。例如,可以截断(truncate)一个分区的数据而不截断其他分区的数据。Oracle将把分区表看作一个大表,但可以把这些分区作为一些独立的对象来管理。//===============================================================2004-2-131:31用户SYS拥有数据字典表,这些表存储了数据库中其他结构的所有信息;用户SYSTEM拥有访问数据字典表的视图,这些视图供数据库中其他用户使用。//===============================================================2004-2-131:31用户帐号拥有的对象集称为用户的模式(schema)。//===============================================================2004-2-131:31在关系数据库中,一个行的物理位置无关紧要,除非数据库需要找到它。为了能找到数据,表中的每一行均用一个RowID来标识。RowID告诉数据库这一行的准确位置(指出行所在的文件、该文件中的块、该块中的行地址)。注意索引结构表没有传统的OracleRowID,不过,其主键起一个逻辑RowID的作用。//===============================================================2004-2-131:31读书笔记系列之《Oracle8i数据库管理员手册》第2页共27页ORACLE中国用户讨论组://’sE-Mail&MSN:morinson82@hotmail.commorinson@msn.com索引是一种供服务器在表中快速查找一个行的数据库结构。索引有三种形式:簇索引、表索引和位映射索引。簇索引把簇关键字值存储在簇中;下面一小节将对簇的用途进行详细描述。表索引除了确定行的物理位置(RowID)外,还存储表的行值。位映射索引是表索引的一种特殊形式,用于支持对大表进行查询(这些大表很少有不同值的列)。每一个索引条目都由一个键值和RowID组成。可以索引一个列或一组列,Oracle用B*树(B*-tree)机制存储索引条目,以保证用最短路径访问键值。当一个查询访问索引时,就能找到与查询条件相匹配的索引条目。与条目相匹配的RowID值向Oracle提供相关行的物理位置,以减轻定位数据所需要的I/O负担。//===============================================================2004-2-131:51视图的定义(包括作为基础的查询、列安排、授予的权限)存储在数据字典中。//===============================================================////===============================================================2004-2-150:34函数、软件包和过程的源代码被存储在数据字典表中。//===============================================================2004-2-150:36触发器分为两种类型:.语句触发器:对每一个触发语句触发一次。.行触发器:对受语句影响的表中的每一个行触发一次。//===============================================================2004-2-1523:29对于Oracle8,可以创建INSTEADOF触发器。INSTEADOF触发器执行一个替代操作来代替触发器的操作。也就是说,如果对表创建一个INSTEADOFINSERT触发器,将执行触发器的代码且绝不会出现引起触发器执行的insert操作。//===============================================================2004-2-1523:30公用同义词由一个特定数据库的所有用户共享;私有同义词只被数据库的各个用户帐号所有者所拥有。//===============================================================2004-2-1523:30由于索引或触发器只能在表操作过程中被数据库访问,所以没有针对索引或触发器访问的权限。//===============================================================2004-2-1523:39段由称作盘区(extent)的一些邻接的Oracle块集合组成。一旦段中的现有盘区不能再容纳新数据,该段将获取另外的盘区。如果需要的话,这种扩展将持续下去,直到表空间的数据文件中没有自由空间或者已达到每个段内部的盘区最大数量为止。如果一个段中有多个盘区,将无法保证这些盘区连接在一起。//===============================================================2004-2-1523:40当你撤消一个段时,该段所使用的盘区就成为自由盘区。Oracle可以重新把这些自由盘区用于新的段或现有段的扩展。//===============================================================2004-2-1523:42Oracle用数据库中的回滚段来提供一个前映像数据。//===============================================================2004-2-1523:45显形图在结构上与快照非常相似。它存储基于一个基本查询的复制数据。快照一般存储来自远程数据库的数据,而显形图通常则存储从当前数据库中复制的数据。//===============================================================读书笔记系列之《Oracle8i数据库管理员手册》第3页共27页ORACLE中国用户讨论组://’sE-Mail&MSN:morinson82@hotmail.commorinson@msn.com////===============================================================2004-2-160:01通常,数据块缓存区只是数据库大小的1%~2%,Oracle使用最近最少使用(LRU,leastrecentlyused)算法来管理可用空间。//===============================================================2004-2-160:04数据字典缓存区通过最近最少使用(LRU)算法来管理。字典缓存区的大小由数据库内部管理。字典缓存区是SQL共享池的一部分,共享池的大小由数据库文件init.ora中的SHAREDPOOL-SIZE参数来设置。//===============================================================2004-2-160:10重做项描述对数据库进行的修改。它们写到联机重做日志文件中,以便在数据库恢复过程中用于向前滚动操作。//===============================================================2004-2-160:12在第二次运行(由任何用户)相同的SQL语句时,可以利用SQL共享池中可用的语法分析信息来加快执行速度。//===============================================================2004-2-160:16缓冲区的数量必须至少比LRU锁存器的数量多50倍。//===============================================================2004-2-160:19当启动一个数据库时,SMON(SystemMonitor,系统监控程序)进程执行所需的实例恢复操作(使用联机重做日志文件),它也可以清除数据库,取消系统不再需要的事务对象。SMON的另一个用途是:将邻接的自由盘区组成一个较大的自由盘区。//===============================================================2004-2-160:26程序全局区(P