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