教你轻松掌握Oracle数据库中的物理结构

  (1)数据文件

  每一个Oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。数据文件有下列特征:

  一个数据文件仅与一个数据库联系。

  一旦建立,数据文件不能改变大小

  一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。

  数据文件中的数据在需要时可以读取并存储在Oracle内存储区中。例如:用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,不必立刻写入数据文件。为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由Oracle后台进程DBWR决定如何将其写入到相应的数据文件。

  (2)日志文件

  每一个数据库有两个或多个日志文件(redo log file)的组,每一个日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改是记录在日志中。在出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以从不会丢失已有操作成果。

  日志文件主要是保护数据库以防止故障。为了防止日志文件本身的故障,Oracle允许镜象日志(mirrored redo log),以致可在不同磁盘上维护两个或多个日志副本。

  日志文件中的信息仅在系统故障或介质故障恢复数据库时使用,这些故障阻止将数据库数据写入到数据库的数据文件。然而任何丢失的数据在下一次数据库打开时,ORACLE自动地应用日志文件中的信息来恢复数据库数据文件。

  (3)控制文件

  每一ORACLE数据库有一个控制文件(control file),它记录数据库的物理结构,包含下列信息类型:

  数据库名;

  数据库数据文件和日志文件的名字和位置;

  数据库建立日期。

  为了安全起见,允许控制文件被镜象。

  每一次Oracle数据库的实例启动时,它的控制文件用于标识数据库和日志文件,当着手数据库操作时它们必须被打开。当数据库的物理组成更改时,Oracle自动更改该数据库的控制文件。数据恢复时,也要使用控制文件。数据库的控制文件。数据恢复时,也要使用控制文件。