每当一个Oracle数据库启动时,它都经历一系列步骤来保证数据库一致性。
当一个数据库启动时,它经历三个模式:NOMOUNT、MOUNT和OPEN。
STARTUP NOMOUNT选项:(读初始化参数文件,启动实例)
STARTUP NOMOUNT选项启动实例,但不安装数据库。当数据库以这个模式启动时,参数文件被读取;后台进程和内存结构被启动;但它们不被附加或与数据库的磁盘结构进行通信。当实例处于这个状态时,数据库是不可使用的。
STARTUP MOUNT选项:(打开控制文件)
STARTUP MOUNT选项执行STARTUP NOMOUNT选项的所有工作,但另外附加数据库结构并与这些结构进行交互。这时Oracle从它用来查找和附加到主要数据库结构的控制文件中获得信息。当处于这个模式时,可以执行一些管理型任务,比如恢复。
STARTUP OPEN选项:(打开数据文件,日志文件)
如果STARTUP命令行上没有指定任何模式,STARTUP OPEN选项就是默认的启动模式。STARTUP OPEN选项执行STARTUP NOMOUNT和STARTUP MOUNT选项的所有步骤。这个选项把数据库变成对所有用户都时可用的。
STARTUP FORCE选项:
如果在用正常方式启动数据库时遇到了困难,可以使用STARTUP FORCE选项。STARTUP FORCE选项首先异常关闭数据库,然后重新启动它。
STARTUP RESTRICT选项:
STARTUP RESTRICT选项启动数据库并把它置入OPEN模式,但只给拥有RESTRICTED SESSION权限的用户赋予访问权。
alter system enable restricted session;(限制会话权限)
alter system disable restricted session;(禁止限制会话权限)
只读模式:
startup mount;
alter database open read only;(只读模式,切换只读模式需要重启数据库)
最后,可以在多个地方启动数据库,像命令行、sqlplus和EM Database Control。这全凭读者的个人喜好。
本文出自 “飞舞的菜刀” 博客