oracle启动的三个阶段

oracle启动的三个阶段

三个阶段:
1.
启动到nomount状态,这个阶段数据库读取spfile/pfile文件中的参数,启动数据库实例。
1-1
读取初始化参数文件.注意读取顺序.主要是指定控制文件及数据库实例名
      1-2分配系统全局区
      1-3启动后台进程
      1-4打开alertSID.log文件和跟踪文件
      补充说明:
          nomount阶段,oracle 会查找参数文件,启动实例,参数文件的查找顺序为spfile.ora,init<sid>.ora,init.ora如果以上三个文件均查找不到oracle在此时就会报错,同时在此阶段oracle会查找alter文件,如果没有找到alter文件会自动创建;启动相应的后台进程至少包括五个pmon,DBWn,ckpt,smon,LGWn。总之,这个阶段主要就是启动一个实例,并为加载数据库确定必要的参数。
2.
启动到mount状态,这个阶段数据库打开控制文件,验证控制文件。
2.
装载数据库 --startup mount,读控制文件 等
      2-1将数据库与一个已打开的实例相关联
      2-2打开控制文件
      2-3获取数据文件和重做日志文件的名称和状态.
      补充说明:
          mount阶段,oracle会打开控制文件,加载数据库,此时数据库的基本结构信息都能够查询了,但是还不能查询用户表的内容。

3. 启动到open状态,这个阶段数据库打开控制文件里描述的文件。
3.
打开数据库 --database open
     3-1打开数据文件
     3-2打开联机重做日志文件.
     补充说明:
         open阶段,就是打开数据库,在这个阶段SMON会对数据文件的检查点进行一致性检查,不一致时smon会介入进行恢复。

     Oracle中数据库实例和数据库是独立实体,可以独立存在。因此启动过程分成多个阶段:首先在内存中构建实例,然后通过安装数据库启用到数据库的连接,最后打开数据库来使用它。Oracle数据库有四种状态:

SHUTDOWN:所有数据库文件都关闭,不存在实例
NOMOUNT
:实例在内存中创建(SGA已经被创建,根据参数文件指定启动某些后台进程),但没有连接到任何数据库。
MOUNT
:实例定位并读取数据库控制文件。
OPEN
:所有的数据库文件都被定位和打开,终端用户可以使用数据库。
 数据库的启动可分为三个阶段:

1nomount:在这一阶段,只需要读取initSID.ora文件,启动数据库实例,创建后台进程。在initSID.ora文件中,可以定位SPFILEORAC.ora文件,这是参数文件,通过它可以初始化SGA和启动后台进程。并可以定位控制文件位置。在此阶段,可以执行的操作有:重建控制文件,重建数据库。

2mount:在nomount阶段,可以通过读取控制文件来转换到mount阶段。在数据库加载阶段(mount),所有的数据文件和联机日志文件的名称和位置都从控制文件中读取,但是并没有真正查找这些文件。在此阶段,可以执行的操作有:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重定位数据文件和联机日志文件。

3open:通过查找定位并打开数据文件和联机日志文件来切换到open阶段。此时数据库可用,可以建立会话。

      startup命令等同于:startup nomountalter database mountalter database open

 

posted @ 2011-08-23 17:01  浪漫满屋  阅读(763)  评论(0编辑  收藏  举报