1.启动数据库到nomount状态的过程
读取参数文件,应用参数启动实例。
查看数据库中参数文件的位置:show parameter spfile
SQL> show parameter pfile;
NAME TYPE VALUE
------------- ----------- ------------------------------
spfile string C:\ORACLE\PRODUCT\10.1.0\DB_1\DATABASE\SPFILEORCL.ORA
Oracle启动时,会读取参数文件中的关于控制文件的路径和信息。
2.启动数据库到mount状态
找控制文件,依据控制文件判断数据文件的存在性。
根据参数文件中指定的参数信息来查找控制文件:show parameter control_files
SQL> show parameter control_files;
NAME TYPE VALUE
-------------- ----------- ------------------------------
control_files string C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL01.CTL,
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL02.CTL,
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL03.CTL
SQL> select name from v$controlfile;
NAME
-----------------------------------------------------
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL01.CTL
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL02.CTL
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL03.CTL
mount状态下要检查口令文件:SQL> select * from v$pwfile_users;
3.启动数据库到open状态
过程:Oracle根据control file中记录的信息找到数据文件、日志文件然后进行检查点及完整性检查。
SQL> select name from v$datafile;
NAME
------------------------------------------------------
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\EXAMPLE01.DBF
SQL> select member from v$logfile;
MEMBER
-------------------------------------------------
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO03.LOG
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO02.LOG
C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\REDO01.LOG