上图是数据库的物理结构
工作原理:当执行select或DML操作时,服务器进程首先将数据文件读取到数据高速缓存,然后从数据高速缓存提取数据或修改数据高速缓存的数据,即数据访问操作都是在内存中完成的。
组成:数据文件 控制文件 重做日志文件
数据文件: 用于存储数据库的数据,包括系统数据(数据字典)、用户数据(表、索引、簇),UNDO等。当建立数据库或表空间时,数据文件通过DATAFILE选项指定的。数据库逻辑上由一个或多个表空间组成,一个表空间由一个或多个数据文件组成。
控制文件:用于记录和维护数据库的物理结构,并且oracle数据库至少有一个控制文件。一个instance只能访问一个数据库,而一个数据库可以访问多个instance。当装载数据库的时候,oracle会根据初始化参数control_files定位控制文件;当打开数据库的时候,oracle会根据控制文件所记载的信息打开所有数据文件和重做日志。
重做日志:用于记录数据库变化,当进行instance恢复或者介质恢复时需要使用重做日志。
上图是数据库的逻辑结构(左面)
表空间:是数据库的逻辑组成部分。建议将不同类型的数据部署到不同表空间,一方面可以提高数据访问性能,另一方面便于数据管理、备份和还原等。
段:用于存储热定逻辑对象(表、簇、索引等)的所有数据,由一个或多个区组成。
区:是进行空间分配的逻辑单元,由相邻数据块组成。
oracle块:也称数据块,是oracle在数据文件上执行I/O操作的最小单位,其尺寸应该是OS块的整数倍。