现在的位置: 首页 > 综合 > 正文

Oracle 数据库实例启动关闭过程

2012年12月30日 ⁄ 综合 ⁄ 共 2606字 ⁄ 字号 评论关闭

--================================

-->Oracle 数据库实例启动关闭过程

--================================

/*

    Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载。Oracle数据启动的过程被划分为

几个不同的步骤,在不同的启动过程中,我们可以对其实现不同的操作,系统修复等等工作,因此了解Oracle数据启动、关闭是非常

有必要的。下面详细了Oracle Database 10g 数据库启动及关闭的过程。

 

一、数据库实例的启动

    启动命令:starup [force][restrict] [pfile=...] [nomount] [mount] [open]

    启动过程:nomount ---> mount ---> open               (startup不带参数将逐步一一完成)

    1.nomount阶段(即实例的启动)

        实例的启动通常包含下列任务:

           a.按以下顺序在$ORACLE_HOME/dbs[win平台为database]目录下搜索下列文件,即如果第一个没找到,就找下一个

               spfile<SID>.ora ---> spfile.ora ---> init<SID>.ora

           b.分配SGA

           c.启动后台进程

           d.打开并修改告警<SID>.log文件及跟踪文件

       使用场景:

           多用于数据库创建、控制文件重建、特定的备份恢复等

       注意:

           此阶段不打开任何的控制文件及数据文件。

          

    2.mount阶段

        mount阶段完成的任务:

           a.启动实例并打开控制文件,将数据库与实例关联起来

           b.利用参数文件中的说明,打开并锁定控制文件

           c.读取控制文件以获取数据文件和重做日志文件的名字和状态信息,但不检查数据日志文件是否存在

       使用场景:

           a.重命名数据文件,移动数据文件位置等(数据库打开,表空间脱机的情况下也可以重命名数据文件)

           b.启用或关闭重做日志文件的归档及非归档模式

           c.实现数据库的完全恢复

       注意:

           这一步会读控制文件,如果这一步有一个控制文件损坏就无法启动

          

    3.open阶段

       mount阶段完成的任务:

           a.打开数据文件

           b.打开联机日志文件

       注意:

            a.在此期间,Oracle服务器将校验所偶的数据文件和联机日志文件能否打开并对数据库作一致性检查

           b.如果出现一致性错误,SMON进程将启动实例恢复

           c.如果任一数据文件或联机日志文件丢失,Oracle服务器将报错

    4.特殊的方式打开数据库

       只读模式:

       startup open read only;

      

       如果现在在mount

       alter database open read only;

      

       受限模式:

       有时进行数据库维护护,希望一般的用户不能登录。可以启动到该模式,这样只有用户具有

       restricted session 权限,才可登录到数据库。

      

       启动方法:

           startup restrict;

          

       取消受限:

            alter system disable restricted session;

 

二、数据库实例的关闭

    关闭命令:shutdowm abort | immediate | transactional | normal (shutdown不带参数将缺省为normal)

    关闭选项:

       normal         --->不准许新的连接,等待当前的session 结束,等待当前的事务结束,强制检查点并关闭文件

       transactional --->不准许新的连接,不等待当前的session结束,等待当前的事务结束,强制检查点并关闭文件。

       immediate      --->不准许新的连接,不等待当前的session结束,不等待当前的事务结束,强制检查点并关闭文件。

       abort          --->不准许新的连接,不等待当前的session结束,不等待当前的事务结束,不作强制检查点。

   

三、几类诊断文件

    包含有重要意义时间的具体信息,用于解决问题,用于日常更好的管理数据库

   

    a.alterSID.log    告警文件

        记录了数据库启动、关闭时间和一些重要操作及错误警告信息,包含错误号ora-,dba管理

       位置由background_dump_dest

       维护alertSID.log,定期转移,系统会自动产生新的alert_sid.log

      

    b.后台进程跟踪文件:

       记录了后台进程的一些重要信息和警告、错误等

       位置:$ORACLE_BASE/admin/vvorcl/bdump/vvorcl_lgwr_15135.trc

      

    c.用户跟踪文件:

       由用户进程产生也能由服务器进程产生,跟踪用户的SQL语句的统计信息,也包括错误信息

       文件位置由user_dump_dest

       用户跟踪:

              会话级:

                  alter session set sql_trace=true;

 

              实例级:

                  alter system set set sql_trace=true;

 

       跟踪文件的大小由max_dump_file_size参数决定。跟踪时最好要限制他的大小

      

四、动态性能视图

        记录当前数据库的活动,并且不停的更新,故不能保证读取数据的一致性

       

抱歉!评论已关闭.