简析ORACLE数据库结构


一、物理结构:

  1、数据文件:ORACLE数据库包含若干数据文件,数据文件存储数据库数据,包括表、索引等等。数据文件的几个特点:

  1)一个数据文件只允许分配给一个数据库

  2)数据文件可设置为自动扩展

  3)一个或多个数据文件构成表空间

  在进行数据库操作的时候,数据库先从内存寻找要操作的数据,如果没有找到的话,再从数据文件取出数据放在内存中,然后才对内存中的数据进行相关的操作。操作完的数据并没有立即写到数据文件中(这样减少了磁盘的IO),而是放在内存中,然后由DBWn进程决定何时批量写入数据文件。

  2、控制文件:每一个数据库都有一个或多个控制文件,控制文件包含了数据库的物理结构,包括:

  1)数据库名

  2)数据文件名及位置

  3)重做日志文件名及位置

  4)数据库的建立时间等等

  一般一个数据库都有若干个控制文件镜像。数据库在打开的时候(ALTER

  DATABASE OPEN),会读取控制文件中的信息来打开数据库。当数据库的物理结构发生变化的时候,比如增加一个数据文件、一组重做日志等等,控制文件都会自动地做相应的修改。在数据库物理结构发生变化后,最好重新备份一下控制文件,用于数据库恢复。

  3、重做日志文件:重做日志中记录了数据的变化。一般一个数据库都会有两到三组重做日志文件。同一日志组的镜像最好分布于不同的磁盘上。

  4、归档日志:当数据库启动归档的时候,重做日志会被自动归档到指定的位置。

  5、初始化参数文件:包含了数据库启动时的配置信息

  6、警告和跟踪日志文件

  1)跟踪文件:每一个后台进程都有一个单独的跟踪文件,比如当系统发现某一个进程有问题的时候,相关的信息就会写到相应的跟踪文件中。可以从数据库的跟踪文件来发现和调试数据库的错误。

  2)警告文件,也叫警告日志。是一个特别的跟踪文件,它记录着数据库启动、运行中的相关信息,它是按时间顺序进行记录的。

  7、备份文件

  二、逻辑结构

  1、表空间:相关逻辑对象的集合。在oracle10g中,在创建数据库的时候就自动创建了SYSTEM和SYSAUX表空间。

  2、数据块:数据存储在数据块中,一个数据块的大小(DB_BLOCK_SIZE)由操作系统块来决定。可以指定5种,分别为2K、4K、8K、16K、32K。

  3、区:一系列连续的数据块组成区,区存储特定类型的数据,比如索引,表等等。

  4、段:由一系列区组成段。

  1)数据段:对于每一个非聚集表有一数据段,表的所有数据存放在该段。每一聚集有一个数据段,聚集中每一个表的数据存储在该段中。分区表中的每一个分区有一个数据段,分区中的数据存储在该段中。

  2)索引段:每一个索引有一索引段,存储索引数据。分区索引中的每一分区有一个索引段。

  3)回滚段:用于临时存储要撤消的信息,这些信息用于生成读一致性数据库信息,在数据库恢复时使用,回滚未提交的事务。系统回滚段用于处理系统事务,不建议用户使用系统回滚段来做其它操作。

  4)临时段:当一个SQL语句需要临时工作区时,由ORACLE建立临时段。当语句执行完毕,临时段的区退回给系统。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3