您的位置:首页 > 数据库 > Oracle

oracle OCP认证学习日志(5)

2014-02-12 23:01 211 查看
1.6 数据库存储结构

       Oracle数据库从物理存储中完全抽象出逻辑存储存储。逻辑数据存储采用“段”的形式。段的类型有很多种:典型的段是"表“。这些段以物理形式存储在数据文件中。通过表空间将逻辑存储从物理存储中抽象出来。逻辑结构与物理结构及其定义之间的关联在数据字典中定义。

1.6.1 物理数据库结构

          Oracle数据库包括三类文件,以及其他几种数据库之外的文件。必需的文件是控制文件,联机重做日志文件和数据文件。通常所说的外部文件是初始化参数文件,口令文件,归档做日志文件及日志和跟踪文件。

     1 控制文件

         控制文件虽小,但作用重大。它包含指向数据库其余部分的指针:联机重做日志文件和数据文件的位置,以及更新的归档野心位置。它还存储着维护数据库完整性所需的信息:例如各种重要的序列号和时间戳。控制文件的大小通常不过数MB,却起着至关重要的作用。

        每个数据库都有一个控制文件,但优秀的DBA总是创建控制的多个副本,这样,如果一个副本受损,数据库自身却不受影响。

       2. 联机重做日志文件

       重做日志按时间顺序存储应用于数据库的一连串的变更向量。其中仅包含重建所有已完成工作的最小 限度的信息。如果数据库文件受损,则可以将这些变更向量应用于数据文件备份来重做工作,将它们恢复到发生故障的那一刻前的状态。重做日志包含两类文件:联机重做日志文件和归档日志文件

     每个数据库至少有两个联机重做日志文件,但与控制文件一样,优秀的DBA总是为每个联机重做日志文件创建多个副本。联机重做日志包含多组联机重做日志文件,每个文件都称为一个成员。ORACLE数据库至少需要两个组,其中每组至少有一个成员在运行。出于性能考虑,可以创建两个以上的组,一个组可以接受当前更改,而另一个组可用于备份。

       3. 数据文件

        组成数据库的第三种必需的文件类型是数据文件。在数据库创建阶段,至少必须创建两个数据文件。至少一个用于SYSTEM表空间,一个用于SYSAUX表空间。不过,实际使用的数据库具有更多的数据文件,我们通常在最开始时会创建多个数据文件。

        数据文件是数据的存储仓库。数据文件的大小与数量实际上不受限制。大小为数GB的小数据库可能只有6个大小不一为数百MB字节的数据文件。较大的数据库可以具有数千个数据文件,其大小只受操作系统和硬件功能的限制。

        数据文件是系统管理员可以看得见的物理结构。从逻辑上讲,它们是段的储存库。“段”是数据的存储结构,典型的段是表和索引。在数据库的生命周期内,可以随时重命名、移动、添加或删除数据文件,也可以重设大小。但要记住,在对某些数据文件执行某些操作时,将产生停机时间。

         在操作系统级别看,数据文件由多个操作系统块组成。出于性能方面的考虑,操作系统的大小不能超过ORACLE块大小,例如1KB的操作系统块和8KB的ORACLE块是完全可以接受的。

          服务器进程对数据文件执行读操作,而DBWn对数据文件执行写操作。

        4. 其它数据库文件

      a.实例参数文件(Instance Parameter File)

      b.口令文件(Password File)

      c.归档重做日志文件(Archive Redo Log Files)  

       d.警报日志和跟踪文件(Alert  Log and Trace Files)

1.6.2 逻辑数据库结构

           构成数据库的物理结构作为操作系统文件呈现给系统管理员。用户看到的是诸如表的逻辑结构。ORACLE使用术语“段”来描述任何包含数据的结构。典型的段是包含数据的表,但是ORACLE数据库包含十多种段类型。其中最引人关注的是表段,索引段和撤销段,后面将详细描述这些内容。这里,只需了解:表包含信息行,索引是用于快速访问任何特定行的机制,撤销段是数据结构,用于存储撤销任何不希望持久化的事务所需的信息。

           ORACLE通过表空间方式,将逻辑存储从物理存储中抽象出来。表空间在逻辑上是一个或多个段的集合,在物理上是一个或多个数据文件的集合。段和数据文件之间存在多对多的关系:可以将一个表健在在多个数据文件中,而一个数据文件也可以包含多个表的一部分。ORACLE通过在段和文件之间插入表空间褓,解决这种多对多关系的问题。

        段由多个块组成。数据文件的格式被设置为多个块,块的增加,这些块被分配给段。由于每次管理一个块的空间过于,又将块分组为区间,段将扩大。

         



上图显示存储结构之间的关联。从逻辑上讲,一个表空间可以包含多个段,每个段可以包含多个区间。区间是一组ORACLE块,从物理上讲,数据文件由多个操作系统块组成。连接模型的两端的关系显示一个表空间可以包含多个数据文件,从最低级别看,一个ORACLE块包含多个操作系统块。

   1.6.3数据字典

数据字典包含从逻辑上和物理上描述数据库及其内容的元数据。用户定义,安全信息,完整性约束和性能监视信息都是数据字典的一部分。元数据作为一组段存储在SYSTEM和SYSAUX表空间中。

从很多方面讲,构成数据字典的段与其它的段很相似。关键区别在于:数据字典表在创建数据库时生成,您无权直接访问它们。阻止一个好个好盘根问底的DBA直接研究数据字典看上去没什么,但如果对其进行了任何更新,则将对数据库造成无法修复的损坏,ORACLE也不会提供支持。ORACLE提供了一组视图来查询字典。大部分视图有三有三种形式:带有前缀DBA _,ALL_,USER_。任何带有前缀USER的视图将描述查询视图的用户拥有的对象。因此,当查询带有前缀ALL的视图将显示描述您有权访问的对象的行。任何带有前缀DBA的视图将显示数据库中每个对象的行。在创建数据库的过程中,将创建这些视图,还会创建大量由ORACLE提供的PL、SQL包来帮助数据库管理员管理数据库,帮助编程人员开发应用程序。PL\SQL代码也存储在数据字典中。

表空间和数据文件之间的关联在数据库控制文件中维护。

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: