查看数据库启动状态:
执行sql “select status,instance_name from v$instance” 可以看到
例如:
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
-------------------------------- ------------------------
accdb0
启动顺序(不能改动):shutdown-》nomount-》mount-》open
oracle的启动过程包含如下三个阶段:
1、Nomount
命令:startup nomount
该状态下启动所有的后台进程 并且读取sga参数 分配共享内存 读取spfile或者pfile中的参数,spfile是二进制的,给机器读取的。
启动instance
2、mount
命令:alter database mount;
该状态下 建立数据库和Instance的连接,打开所有的控制文件
出现数据文件损坏时需要到该状态下 进行数据恢复 在进入open状态
此时客户端无法连接
不希望其他客户连接的受限
startup restrict
已经处于open状态
alter system enable restricted session
这时候已经可以执行select open_mode from v$database;
这个状态下还可以开启归档模式和强制logging
SQL> alter database force logging;
SQL> alter database archivelog;
3、open
命令:alter database open;
通过控制文件打开日志文件,数据文件等所有文件 允许连接
可以指定为只读模式:
alter database open read only;