2019独角兽企业重金招聘Python工程师标准>>>
--oracle启动3个过程
nomount--->mount--->open
startup nomount只是启动了实例而没有启动数据库,startup mount启动了实例,并加载了数据库,但是数据库没有打开,startup是最全的,实例,数据库加载,数据库打开都完成
启动的步骤:
startup nomount
alter database mount
alter database open
关闭:
shutdowm immediate|abort | transactional | normal (shutdown不带参数将缺省为normal)
(1)数据库处于“NOMOUNT”状态。启动实例 读取参数文件$ORACLE_HOME/dbs/下的参数文件spfile,分配SGA内存并启动后台进程。数据库还没有挂栽不可使用。动态性视图收集的信息来源只有是SGA,而不会从控制文件中收集相关的信息。所以,动态性能视图的数量要少得多。
SYS@orcl >show parameter spfile;
(2)当数据库处于MOUNT状态时,数据库会读参数文件中描述的控制文件
/u01/app/oracle/flash_recovery_area/orcl/,校验控制文件的正确性,控制文件中有数据文件和日志文件的信息。所以,当例程处于Mount状态时,动态性能视图其收集到的信息就要第一个状态多的多。因为此时,动态性能视图还会去收集控制文件的相关信息。不过,此时动态性能视图所收集到的资料还不是最全的。
在 alter database mount 的过程中,oracle会 检查controlfile文件中 block size of controlfile ,并与初始化参数中,DB_BLOCK_SIZE 的值进行比较,若是这两者不一致,则会报错:
ORA-00218: block size 4096 of controlfile does not match DB_BLOCK_SIZE (8192)
(3)当用户打开数据库时,读控制文件中描述的数据文件/u01/app/oracle/oradata/orcl/,验证数据文件的一致性,如果不一致,使用日志文件将数据库文件恢复到一致的状态。此时,数据库管理员除了可以从 SGA和控制文件中获取信息的动态性能视图外,还可能访问与Oracle数据库性能相关的动态性能视图,如会话等待时间等视图。另外需要注意一点,就是只有在这个状态时,我们才能够访问数据库的数据字典视图。
另外:
STARTUP FORCE选项:
如果在用正常方式启动数据库时遇到了困难,可以使用STARTUP FORCE选项。STARTUP FORCE选项首先异常关闭数据库,然后重新启动它。
STARTUP RESTRICT选项:
STARTUP RESTRICT选项启动数据库并把它置入OPEN模式,但只给拥有RESTRICTED SESSION权限的用户赋予访问权。
查询控制文件
SYS@orcl >select * from v$controlfile;
STATUS NAME IS_ BLOCK_SIZE
------- -------------------------------------------------- --- ----------
FILE_SIZE_BLKS
--------------
/u01/app/oracle/oradata/orcl/control01.ctl NO 16384
594
/u01/app/oracle/flash_recovery_area/orcl/control02 NO 16384
.ctl
594
//获取控制文件内容
备份controlfile 到trace
SYS@orcl >alter database backup controlfile to trace;
查询trace文件位置
SYS@orcl >select * from v$diag_info where name='Default Trace File';
INST_ID NAME
---------- --------------------------------------------------
VALUE
--------------------------------------------------------------------------------
1 Default Trace File
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_30452.trc