oracle数据库四种状态

  1. oracle数据库四种状态
    1. SHUTDOWN –>NOMOUNT
    2. NOMOUNT—->MOUNT
    3. MOUNT —-> OPEN

oracle数据库四种状态

  • SHUTDOWN状态: oracle数据库没有启动 ,完全关闭状态 关闭命令是shutdown immediate(立即关闭)
  • NOMOUNT状态: 在这个状态下,oracle会打开参数文件,分配SGA并打开后台进程, SGA和后台进程已经启动
  • MOUNT状态: oralce会在nomount的基础上,通过参数读取控制文件,拥有sysdba权限的可以进行一些数据的备份和恢复操作,其他用户还不能访问。在nomount的基础上,进入此状态的命令是:alter database mount
  • OPEN状态:在mount的基础上根据控制文件的记录打开所有的数据文件和重做日志。这个状态表示数据库完全打开,其他用户正常访问.在mount的基础上,使用命令alter database open

startup不加参数,那么直接就是进入open状态。

如果使用alter database ****才启动oracle ,必须按照顺序启动,即:nomount–>mount–>open。不能越级,不能反方向。

SHUTDOWN –>NOMOUNT

SQL> startup nomount   
ORACLE 例程已经启动。   
tal System Global Area  431038464 bytes   
xed Size                  1333676 bytes   
riable Size             276825684 bytes   
tabase Buffers          146800640 bytes   
do Buffers                6078464 bytes   

一个数据库实例开始:

首先从spfile或者pfile中读取数据库参数文件:
然后分配SGA和创建后台进程。
相当于生产线和工人都到位了
但是没有开始生产,生产线上没有产品。

一些参数查询:

SQL> show parameter db_name;   
NAME                                 TYPE                    VALUE
------------------------------------ ----------------------  ------------------------------   
db_name                              string                  orcl   

SQL> show parameter db_block_size;   
NAME                                 TYPE                    VALUE
------------------------------------ ----------------------  ------------------------------
db_block_size                        integer                 8192   

NOMOUNT—->MOUNT

就相当于把 数据库和实例建立关系。
首先根据初始化参数文件中的CONTROL_FILE参数找到相应的控制文件然后打开它们。
在控制文件中包含了数据库的数据文件和redo log文件信息。
这个时候数据库还没有打开,仍然处于关闭状态,这个时候普通的用户还不能
连接到数据库,只有数据库管理员可以进行一些备份恢复等工作。

MOUNT —-> OPEN

通过控制文件信息找到 联机数据文件和redo log 文件,
如果没有以上两个文件,数据库就会报错。如果这两个文件坏了,
数据库无法打开,这个时候可以通过sysdba权限进入mount挂载状态后,对
这两个数据文件进行恢复操作后再打开数据库。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 289211569@qq.com