Oracle打开数据库
1. 启动到nomount状态,这个阶段数据库读取spfile/pfile文件中的参数,启动数据库实例。
1-1读取初始化参数文件.注意读取顺序.主要是指定控制文件及数据库实例名
1-2分配系统全局区
1-3启动后台进程
1-4打开alertSID.log文件和跟踪文件
补充说明:
在nomount阶段,oracle 会查找参数文件,启动实例,参数文件的查找顺序为spfile.ora,init<sid>.ora,init.ora如果以上三个文件均查找不到oracle在此时就会报错,同时在此阶段oracle会查找alter文件,如果没有找到alter文件会自动创建;启动相应的后台进程至少包括五个pmon,DBWn,ckpt,smon,LGWn。总之,这个阶段主要就是启动一个实例,并为加载数据库确定必要的参数。
2. 启动到mount状态,这个阶段数据库打开控制文件,验证控制文件。
2-1将数据库与一个已打开的实例相关联
2-2打开控制文件
2-3获取数据文件和重做日志文件的名称和状态.
补充说明:
在mount阶段,oracle会打开控制文件,加载数据库,此时数据库的基本结构信息都能够查询了,但是还不能查询用户表的内容。
3. 启动到open状态,这个阶段数据库打开控制文件里描述的文件。
3-1打开数据文件
3-2打开联机重做日志文件.
补充说明:
在open阶段,就是打开数据库,在这个阶段SMON会对数据文件的检查点进行一致性检查,不一致时smon会介入进行恢复。