每当一个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。这全凭读者的个人喜好。