启动数据库的三个台阶nomoutn, mount, open

启动数据库的三个台阶nomoutn, mount, open

 

一、             将数据库启动到nomount状态:

SQL> startup nomount;

SQL> select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
orcl             STARTED

 

SQL> select value from v$spparameter where name='control_files';

VALUE
-----------------------------------------------------------------
/oracle/oradata/orcl/control01.ctl
/oracle/oradata/orcl/control02.ctl
/oracle/oradata/orcl/control03.ctl

启动数据库到第一个台阶nomount状态做了如下的工作:
1.读参数文件 2.分配内存 3.启动后台进程 4.初始化部分v$视图。

 STARTUP NOMOUNT选项启动实例,但不安装数据库。当数据库以这个模式启动时,参数文件被读取;后台进程和内存结构被启动;但它们不被附加或与数据库的磁盘结构进行通信。当实例处于这个状态时,数据库是不可使用的。

 

二、将数据库启动到mount状态:
SQL> alter database mount;
Database altered.

SQL> select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
orcl             MOUNTED

mount 数据库的过程是读参数文件中描述的控制文件,校验控制文件的正确性,将控制文件的内容读入到内存。

 STARTUP MOUNT选项执行STARTUP NOMOUNT选项的所有工作,但另外附加数据库结构并与这些结构进行交互。这时Oracle从它用来查找和附加到主要数据库结构的控制文件中获得信息。当处于这个模式时,可以执行一些管理型任务,比如恢复。

 

 三、打开数据库:

SQL> alter database open;
Database altered.
SQL> select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
orcl             OPEN

 

读控制文件中描述的数据文件,验证数据文件的一致性,如果不一致,使用日志文件将数据库文件恢复到一致的状态。数据库open后,普通用户才可以访问数据库,用户的表才可见。

四、只读方式open数据库:
SQL> alter database open read only;
Database altered.

SQL> select open_mode from v$database;
OPEN_MODE
----------
READ ONLY

默认read only 为read write
想改read only为 read write 必须重启动数据库。
只打startup 而不加任何参数的时候,默认是到open,等于startup open;

命令startup force 强制启动数据库,等于强制停止数据库再启动数据库。如果在用正常方式启动数据库时遇到了困难,可以使用STARTUP FORCE选项。STARTUP FORCE选项首先异常关闭数据库,然后重新启动它。

 

posted on 2013-09-12 11:38  jarvis3  阅读(360)  评论(0)    收藏  举报

导航