1、Oracle体系结构
1.1、物理结构
1). 数据库文件(Data File)
数据文件用来存储数据库中的全部数据和Oracle系统数据的文件,包括数据字典、用户表数据、用户索引等。例如,数据库表中的数据和索引数据通常为*.dbf,是磁盘物理文件。
2). 重做日志文件(Redo Log Files)
重做日志文件是数据库必需文件,用户记录数据库所有发生过的变化,包括用户数据变化和数据库内部变化,重做日志文件主要用于数据恢复,包括实例恢复和介质恢复。后缀为.log。
3). 控制文件(Cotroller File)
每个Oracle数据库都有相应的控制文件,它们是较小的二进制文件,用户记录数据库的物理结构,如数据库名、数据库的数据文件,日志文件的名字和位置等信息,用户打开、存取数据库。控制文件和数据文件一样,也是数据库的必备文件。文件名通常为*.ctl
4).参数文件(Parameter Files)
参数文件用来定义数据库实例需要启动参数,包括数据库实例名称、控制文件所在的路径和文件名、SGA的内容结构、Oracle数据块的大小、进程数等,对数据库的性能影响很大。服务器参数文件,简称SPFILE(Server Parameter File),也叫永久参数文件;另外还有PFILE(Text Parameter File),也叫静态参数文件。
2、逻辑结构
Oracle数据库的逻辑结构描述了数据库从逻辑上如何存储数据库中的数据。逻辑结构包括表空间、段、区、数据块和模式对象。 一个数据库从逻辑上说是由一个或多个表空间所组成,表空间是数据库中的数据仓库,每一个表空间是由段(segment)组成,一个段是由一组区(extent)组成,一个区是由一组连续的数据库块(database block)组成,而一个数据库块对应硬盘上的一个或多个物理块。
1).表空间
Oracle数据库被划分为一个或多个称为表空间的逻辑结构,表空间由一个或者多个数据文件组成,一个数据文件只能属于一个表空间。在Oracle数据库安装并创建了数据库后,系统自动创建多个表空间,包括SYSTEM表空间(存放Oracle数据库系统表和数据字典)、SYSAUX表空间(存放Oracle数据库中样例用户中的对象)和USERS表空间(存取用户数据)。
2).数据库块
数据库块也称逻辑块和Oracle块,它对应磁盘上一个或多个物理块,是数据库的最小I/O处理单元。
3).区
区也被称为扩展,是由一组连续的数据块所组成的数据库存储空间分配的逻辑单位,由相邻的数据块组成。当一个区被占满,再有新的数据插入时,Oracle会自动扩展该表段,分配一个新的区。
4).段
段是一个或多个不连续的区的集合,它包括一个表空间内特定逻辑结构的所有数据。
5).模式对象
包括表、视图、序列、同义词、索引、触发器和存储过程。