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

Oracle 11g Oracle基本体系结构

2011-10-01 20:21 323 查看
Oracle 11g具有丰富的、强大的体系结构。从存储结构的角度来说,oracle数据库可以分为物理结构和逻辑结构。物理结构就是构成数据库的各种磁盘文件,是数据库的物理载体。逻辑结构主要有表空间、段、区间、块等。

物理结构

数据文件

一个数据库的数据文件包含全部的数据库数据。逻辑数据库结构(如表,索引)的数据物理地存储在数据库的数据文件中。数据文件以.dbf为扩展名。通过v$datafile数据字典可以查看到当前的数据文件,同样也可以通过OEM进行查询



控制文件

数据控制文件是一个很小的二进制文件,它维护者数据库的全局物理结构,用以支持数据库成功的启动和运行。创建数据库时,同事就提供了与之对应的控制文件。每一个Oracle数据库有一个控制文件,包含了一下信息:

数据库名
数据库建立日期
数据库数据文件和日志文件的名字和位置
表空间信息
数据文件脱机范围
日志历史
归档日志信息
备份组和备份块信息
备份数据文件和重做日志信息
数据文件拷贝信息
当前日志序列数
检查点信息

通过SQL进行v$controlfile数据字典查询



重做日志文件

重做日志文件用于记录对数据库的所有修改信息,修改信息包括用户对数据的修改,以及管理员对数据库结构的修改。数据字典v$logfile里面包含重做日志文件信息。

除此之外还有其他文件

参数文件

参数文件也被成为初始化文件,用于存储SGA、课选的Oracle特性和后台进程的配置文件,分为文本参数文件(PFILE)和服务器参数文件(SPFILE)。前者可以使用文本编辑器进行编辑,后者为二进制文件不能用文本编辑器编辑。

警告、跟踪日志文件

每一个服务器和后台进程都可以写入一个相关的跟踪日志文件。当一个进程发现了一个内部错误的时候,它把关于错误的信息转储到它的跟踪文件里。

警告文件是一种特殊的跟踪文件,一个数据库的警告文件就是按时间排序的消息和错误的记录

备份文件

还原一个文件的过程就是用一个备份文件来替换它。典型的情况下,在介质失败或者用户事物导致原有文件损坏或者删除的情况下,就需要对其进行恢复。用户管理的备份和恢复实际上就是要求用户在试图恢复备份的时候先还原备份文件,服务器管理的备份和恢复功能管理备份过程,例如,调度备份及恢复过程就是在需要恢复的时候施加正确的备份文件。

归档重做日志文件

归档重做日志(ARCHIVE LOG FILE)就是对写满的重做日志文件进行复制并保存生成的文件。可以通过设置数据库在归档后自动地保存日志文件。归档进程(ARCO)在后台负责把写满的重做日志文件复制到归档日志目标中。归档日志文件在数据库恢复时起决定性作用。

逻辑存储结构

表空间

表空间是数据库的逻辑划分,每个数据库至少有一个表空间。USER表空间供一般用户使用。一个表空间只能属于一个数据库。每一个表空间由同一磁盘上的一个或多个数据文件组成。任何模式对象(shema)都被存储在表空间对应的数据文件中,虽然不能被储存在多个表空间中,但可以存储在多个数据文件中。

段用于存储表空间中某一中特定的具有独立存储结构的对象的所有数据,它有一个或多个区组成。按照段中所存储数据的特征和用途不同,可以分为几种类型:

1、数据段

数据段用于存储表中的所有数据。当某个用户创建表时,就会在该用户的默认表空间中为该表分配一个与表名相同的数据段,以便将来存储该表的所有数据。如果创建的是分区表,该表空间中就有几个数据段。数据段随着数据的增加而逐渐增大。段的增加是通过增加区的个数而实现的。每次增加一个区,每个区的大小是块的整数倍。

2、索引段

索引段存储索引的所有数据。

3、临时段

临时段存储排序操作所产生的临时数据。当用户使用ORDER BY语句进行排序或者汇总时,在该用户的临时表空间中自动创建一个临时段,排序结束,临时段自动消除。

4、回滚段

回滚段用于存储用户数据被修改之前的值,以便在特定条件下回退用户对数据的修改。Oracle利用回滚段来恢复被回退事物对数据库所作的修改,或者为事物提供读一致性保证。每个数据库都至少有一个回滚段。

区是由物理上连续存放的块构成的。区是Oracle存储分配的最小单位,由一个或多个块组成。当在数据库中创建带有实际存储结构的方案对象时,Oracle将为该方案对象分配若干个区,以便组成一个对应的段来为该方案对象提供初始的存储空间。当段中已分配的区都写满后,Oracle就为该段分配一个新的区,以便容纳更多的数据。

块是最小的数据管理单位,也是执行输入输出操作时的最小单位。相对应地,操作系统执行输入输出操作的最小单位是操作系统块(例如采用NTFS格式化分区时候block的大小)。在数据块中可以存储各种类型的数据,如表数据、索引数据和簇数据等。无论数据块中存放何种类型的数据,每个数据块都具有相同的结构
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息