数据库存储结构分为物理结构和逻辑结构:
oracle的物理存储结构包括
1、控制文件Control Files:
控制文件是一个很小的二进制文件,用于记录和维护数据库结构(数据库名、数据文件的名称和路径、联机重做日志文件的名称和路径、备份信息),每个Oracle数据库可以有1-8个控制文件,最少要包含一个控制文件。一般情况下,实例和数据库是一一对应的关系,Oracle数据库通过控制文件在实例和数据库之间建立关联。
在启动数据库时,系统会根据初始化参数control_files来定位控制文件,Oracle从控制文件中读取组成数据库所有物理文件的信息,这样就可以打开必要的文件。如果控制文件丢失或出现错误,数据库的启动就会失败。为了保护数据库的安全,Oracle采用复合控制文件,即控制文件同时可以有多个镜像。
2、重做日志文件Online Redo Log File
重做日志文件是用于记录数据库变化的物理文件,其作用是在发生意外时恢复Oracle数据库。日志文件以日志文件组的形式存在。我们知道重做日志缓冲区是循环使用的:当重做日志缓冲区的重做项被写入联机重做日志文件后,重做日志缓冲区的内容可以被覆盖;日志文件也是循环使用的,当联机重做日志文件中记录的数据已经同步写入数据文件,联机重做日志文件中的内容也可以被覆盖。但是这种循环以组的方式循环。
3、数据文件Data File
数据文件是用于存储数据库数据的物理文件,它由若干个操作系统文件组成,在数据文件中存储着用户数据(表、索引等)、数据字典以及回滚段数据等。
数据文件和表空间有着密切的关系,Oracle数据库至少要包含一个数据文件,并且数据文件是表空间的物理组成元素,一个表空间可以包含多个数据文件,并且每个数据文件只能惟一地属于某个表空间。
4、初始化参数文件Initialization Parameter File
这个文件存储了数据库所需的一些参数设置,比如各个内存区域的大小,可允许的最大进程数,最大会话数,控制文件的位置,数据库的名称等等,参数文件也是实例启动时首先要加载的文件。
5、口令文件
口令文件用于存放特权用户信息及其口令的文件,“特权用户”是指具有启动、关闭Oracle服务器并建立数据库等特殊权利的用户。如具有SYSDBA、SYSOPER、SYSASM权限的用户。
6、归档日志文件
当联机重做日志组发生切换时,上一组的内容同时写入归档日志文件,这样既可以保证日志不会丢失,又可以保证不影响数据库的正常运行。归档日志文件保留了数据更改的完整历史信息。
.CTL文件为控制文件
.DBF 文件为数据文件
.LOG 文件为日志文件
Oracle将其物理结构从逻辑存储结构中抽象出来,物理结构是系统管理员能看到的,逻辑结构则是数据库用户所能感知到的。oracle比较典型的逻辑结构就是:
1、段:
段就是包含所有数据的逻辑结构,比较典型的段就是"表",称为表段,还有索引段,撤销段等等。
2、表空间:
表空间从逻辑上是多个段的结合,在物理上是多个数据文件的集合,相当于在段和数据文件的对应中加入了一个中间层来解决这种多对多的关系。