欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle Database 实例关闭和启动

程序员文章站 2022-06-17 15:52:55
...

打开alert日志以及tracefiles,并且将所有显式指定的参数值写到alert中。实例已经开启,并且关联了一个打开的数据库。包含在数据

实例和数据库启动
如下图所示,为数据库从上一次完全关闭到启动的几个状态。

Oracle Database 实例关闭和启动

数据库启动的时候会经历一下三个状态:

1、 开启实例(nomount)
实例启动,但是没有关联数据库。

开启实例的时候,会执行下列几个步骤:

l 在默认位置查找参数文件。查找参数文件的时候会在$Oracle_HOME/dbs目录下查找目标pfile或者spfile,顺序如下:

spfile$SID.oraàinit$SID.oraàinit.ora

pfile和spfile也可以存在于任何地方。因为可以在启动的时候指定pfile的位置,而spfile的位置可以在pfile文件中定义。例如/tmp/pfile.ora文件的内容:

SPFILE='/tmp/spfile.ora'

idle>startup nomount pfile='/tmp/pfile.ora' ;

ORACLEinstance started.

Total SystemGlobal Area 409194496 bytes

FixedSize 2144904 bytes

VariableSize 343934328 bytes

DatabaseBuffers 54525952 bytes

RedoBuffers 8589312 bytes

idle> showparameter spfile

NAME TYPE VALUE

----------------------------------------------- ------------------------------

spfile string /tmp/spfile.ora

●读取参数文件中的参数值。

● 根据参数文件的值,分配SGA。

● 开启Oracle后台进程。

● 打开alert日志以及tracefiles,并且将所有显式指定的参数值写到alert中。

2、挂载数据库(mount)
实例已经开启,并且通过读取数据文件关联了一个数据库。数据库为关闭状态,还无法被正常使用。

mount状态所做的操作:通过CONTROL_FILES参数找到控制文件,并且打开它们(多路复用的时候)。读取数据文件以及online redo logfiles的位置。

在这个状态下,数据库只能由管理员访问。附录一为与mount状态相关的CLUSTER_DATABASE参数说明。

3、打开数据库(open)
实例已经开启,并且关联了一个打开的数据库。包含在数据文件中的数据可以被授权用户使用。

打开数据库的时候,通常情况下会做如下的操作:

●打开在线数据文件(除了undotablespace)。如果tablespace 在上一次database shutdown之前offline了,那么这个tablespace以及相关的data file 会在重新打开数据库的时候offline。

●获取一个undotablespace,如果多个undo tablespace 存在,那么初始化参数undo_tablespace 会确定使用哪个undo tablespace。如果没有指定,,那么会使用第一个可用的undo tablespace。

●打开在线重做日志

Oracle Database 实例关闭和启动