oracle数据库的启动
数据库的启动指的是将数据库从关闭状态转变为可访问状态的过程。包括初始化实例与内存,加载数据库元数据,验证文件一致性,开放数据库访问等操作。
数据库启动的三个阶段
- NoMount阶段
功能: 初始化实例内存结构SGA , 启动后台进程
作用: 支持数据库创建,控制文件重建 - Mount阶段
功能:加载控制文件,验证数据库物理结构信息
作用:支持数据库恢复、介质恢复等操作;提供数据库的框架结构,但不可访问数据 - Open阶段
功能: 打开所有数据文件,验证文件一致性,更新数据字典视图
作用: 允许用户链接并执行事务操作,确保数据库处于一致状态
(一)NoMount阶段
1.1 SGA system global area 系统全局区
- SGA主要作用:
存储数据库实例运行期间需要频繁访问的数据。如数据缓存、共享SQL区域、日志缓冲区
等。减少磁盘I/O操作,支持多用户相同SQL的并发操作,减少开销。 - SGA组成:
数据库缓冲区缓存
:存储数据文件中经常
读取的数据块,减少磁盘I/O
共享池
:缓存最近执行的SQL语句
重做日志缓冲区
:存储事务重做日志条目,确保数据的一致性和可恢复性 - SGA主要参数
SGA_MAX_SIZE
:定义SGA最大大小
SGA_TARGET
:定义SGA总大小(软上限),一般为总上限的80%-90%,Oracle会自动管理各个子区域大小
DB_CACHE_SIZE
:定义数据库缓冲区缓存大小
SHARED_POOL_SIZE
:定义共享池的大小
1.2 NoMount启动的后台进程
DBWn
数据库写入进程,虽然数据库文件尚未加载,但写入进程会启动
LGWR
日志写入进程,为后续的日志操作做准备
SMON
系统监控进程,为数据库恢复提供支持
PMON
进程监控进程,清理失败的进程
CKPT
检查点进程,为检查点操作和快速恢复提供支持
(二)Mount阶段
2.1 控制文件
- 记录数据库中数据、日志等文件的名称和位置,记录数据库恢复信息等
- 二进制格式,无法直接编辑
- 控制文件不是配置文件,且与配置文件里的配置通常没有相同部分
- 可以添加控制文件副本,必须定期备份
- 一般情况每个数据库使用独立的控制文件
(三)open阶段
3.1 数据文件
- 用于实际存储数据的文件
- 数据文件可调整大小,可向表空间添加新的数据文件
SELECT FILE_NAME, TABLESPACE_NAME, BYTES/1024/1024 AS SIZE_MB
FROM DBA_DATA_FILES;FILE_NAME TABLESPACE_NAME SIZE_MB
/u01/app/oracle/oradata/mydb/example01.dbf EXAMPLE_TS 100
/u01/app/oracle/oradata/mydb/example02.dbf EXAMPLE_TS 50