Oracle Server分为:
Instance:一组后台进程/线程和一块共享内存区域
Database:存储在磁盘上的一组物理文件
数据库的启动只需要一个命令STARTUP
Oracle启动主要包括3个过程:
(1)启动数据库到nomount状态----只启动数据库实例
(2)启动数据库到mount状态----启动实例并加载数据文件
(3)启动数据库到open状态----启动实例,加载数据文件,并打开
启动顺序:
1、Oracle首先寻找参数文件(pfile/spfile)
然后根据参数文件,创建实例instance,分配内存SGA,启动后台进程processes。
首选spfile
查看文件路径:
SQL>show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\APP\ADMINISTRATOR\PRODUCT\1
1.2.0\DBHOME_1\DATABASE\SPFILE
ORCL.ORA
再选spfile.ora文件
最后选init
2、Oracle从参数文件中获取控制文件位置信息,启动到mount装载状态,还需要一个重要的口令文件orapw
在nomount状态,可查询:
SQL> select * from v$parameter;
在mount状态之后,可查询:
SQL> select * from v$controlfile;
STATUS NAME IS_RECOVERY_DEST_FILE BLOCK_SIZE FILE_SIZE_BLKS
------- -------------------------------------------------------------- --------------------- ---------- --------------
D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL NO 16384 594
D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL NO 16384 594
注意:11G有两个控制文件,内容完全相同,如果丢失其中1个,可以复制完好的控制文件,更改为相应的名称,就可以启动数据库;如果丢失所有控制文件,那么就需要恢复或重建控制文件。
3、Oracle从控制文件中的数据文件、日志文件的位置信息,检查点等信息;进行检查点及完整性检查。
数据库一旦出现问题,首先检查alter_
其位置在D:\app\Administrator\diag\rdbms\orcl\orcl\trace
数据库Open的过程中,Oracle进行了两项检查:
第一次:检查数据文件头中检查点计数(Checkpoint cnt)是否和控制文件中的检查点计数一致。确认数据文件来自同一版本。
第二次:检查数据文件头的开始SCN和控制文件中记录的该文件的结束SCN是否一致。检查控制文件中记录的结束SCN是否等于数据文件头的开始SCN,相等则不用对那个文件进行恢复。
对每个数据文件(.dbf)都要进行检查,检查后,打开数据库,锁定数据文件(锁定后,在操作系统中无法删除),同时将每个数据文件的结束SCN设置为无穷大。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27025927/viewspace-1269053/ ,如需转载,请注明出处,否则将追究法律责任。