一.nomount:读参数文件,启动实例和后台进程
以sysdba身份登录:sqlplus / as sysdba
sql>startup nomount
sql>select status from v$instance;–查看数据库状态
二.mount:打开控制文件
sql>alter database mount;
这里顺便讲一下checkpoint_change#(检查点),主要是系统检查点、数据文件检查点以及数据文件头检查点,这些检查点都是记录在控制文件中,因此数据库必须是mount状态,
三.open:数据库打开
sql>alter database open
当系统、数据文件以及数据文件头这三个checkpoint_change#一致(只读、脱机表空间除外)时,数据库才能正常打开。正常关库时,会生成新的检查点,写入上述三个checkpoint_change#,同时数据文件中的last_change#也会记录下该检查点,也就是说三个checkpoint_change#与last_change#记录着同一个值。
数据库打开前,先确定是否介质恢复,再确定是否实例恢复。介质恢复主要是更新旧的文件,而实例恢复主要是更新内存。如果last_change#值为空,则说明需要进行实例恢复,恢复后的数据库才能打开。
1.系统检查点
sql>select checkpoint_change# from v$database;
2.数据文件检查点
sql> select file#,checkpoint_change#,last_change# from v$datafile;
3.数据文件头检查点
sql> select file#,checkpoint_change# from v$datafile_header;