当前位置:  数据库>oracle

Oracle 实例恢复

    来源: 互联网  发布时间:2017-03-30

    本文导语: --======================= -- Oracle 实例恢复 --=======================   一、Oracle实例失败     Oracle实例失败多为实例非一致性关闭所致,通常称为崩溃(crash)。实例失败的结果等同于shutdown abort。     实例失败的原因         电源负载...

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

-- Oracle 实例恢复

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

 

一、Oracle实例失败

    Oracle实例失败多为实例非一致性关闭所致,通常称为崩溃(crash)。实例失败的结果等同于shutdown abort。

    实例失败的原因

        电源负载故障

        硬件故障

        后台进程失败

        异常关闭数据库

    实例失败后的状况

        数据库可能丢失已提交的事务以及存储了未提交的事务,导致数据库出现不一致的情况

    解决方案

        使用startup 重新启动实例。实例实现自动恢复,根据联机日志文件前滚提交的事务,回滚未提交的事务

        查看告警日志、跟踪日志等找出出现故障的原因

       

    更多常见的故障请参考:Oracle 常见故障及日常规划

   

二、检查点

    检查点在体系结构中已经讨论,实例的恢复与检查点息息相关,因此再次讨论检查点进程

   

    1.什么是检查点

        是一个数据库事件,用于减少崩溃恢复时间,检查点位置决定了实例恢复的起始位置

        由后台进程触发,触发时ckpt进程通知dbwn进程将数据缓冲区的脏数据写入到数据文件

        ckpt进程同时负责更新数据文件的头部信息及控制文件上的检查点信息

       

    2.检查点的触发条件

            在日志切换的时候(自动切换或手动切换)

            数据库用immediate ,transaction ,normal选项shutdown数据库的时候

            用户手动触发(alter system checkpoint)

            alter tablespace tablespace_name begin | end bakcup

            alter tablespace tablespace_name offline

            alter database datafile '' offline

            alter tablespace | datafile read only

           

    3.检测点队列

        是一个脏数据库链表

        检查点队列中的每一条修改过的记录包一个唯一的数据块标识符(日志文件号,块编号,偏移量)

        最早队列将被优先写入到数据文件(而不论期间是否被多次修改)

        最早队列被写入完成后将从队列中清除

       

    4.检查点的分类

        完全检查点

            在Oracle 8i 以前,当检查点发生时,Oracle将脏缓冲列表上的数据全部写入到数据文件,称为完全检查点,又称常规检查点

            特定的触发条件

                alter system switch logfile

                shutdown normal,immediate,transactional

                alter system checkpoint

        增量检查点(fast-start checkpoint)

            主要是引入了检查点队列机制,每s,ckpt将检查点队列中最老的RBA更新到控制文件,RBA(重做日志块地址)同时将作为实例恢复的起点

            增量检查点则细分了完全检查点,使得数据可以周期性按最老的数据块写入到数据文件

            每一个脏块会被移到检查点队列里面去,按照LRBA(Low RBA第一次对此块修改对应的redo block address)来排列

            最早写入检查点队列数据块的low rba值是最小的,即便该队列中的最小队列被修改多次,但修改后它在检查点队列里的顺序不会改变

            当执行增量检查点时,DBWn从检查点队列按照LRBA的顺序来保证先修改的数据可以按顺序优先被写出来实现检查点的增进

            此时ckpt进程使用轻量级的控制文件更新协议,将当前最低的RBA写入控制文件

            ckpt在进行轻量级更新时,并不会改写控制文件中数据文件的检查点信息及数据文件头信息

            仅仅是记录控制文件检查点SCN并根据增量检查点写出增进RBA信息

            通过将完全检查点转变为增量检查点将大大缩短实例的恢复时间

            注:更新数据文件头部及控制文件滞后于检查点事件的发生

            增量检查点的触发   

                满足初始话文件log_checkpoint_interval、log_checkpoint_timeout、

                              fast_start_io_target、fast_start_mttr_target的设置的值

                最小的日志文件的大小

                Buffer Cacha中脏块的数量

   

        部分检查点

            表空间的脏数据写入到磁盘

            由alter tablespace tablespace_name offline 触发

   

    5.完全检查点与增量检查点的差异

        完全检查点会将检查点的信息同时写入到控制文件及数据文件

        增量检查点则只将RBA写入到控制文件


    
 
 

您可能感兴趣的文章:

  • Linux上建立第二个ORACLE实例分析
  • Linux操作系统下Oracle数据库多实例启动方式及修改内存
  • oracle的存储过程实例讲解
  • linux redhat5.6安装oracle11g在自动创建实例时停住不动,有图
  • oracle分页存储过程 oracle存储过程实例
  • C#连接Oracle数据库的实例方法
  • Oracle数据库实例两则
  • Oracle 删除归档日志实例
  • Oracle 10g for solaris准备工作和实例的删除
  • Oracle 11G 无法连接到数据库实例故障排除
  • Linux下设置Oracle 10g 服务以及实例自动启动
  • oracle group by语句实例测试
  • Oracle数据库异构服务原理及实例说明
  • Linux下删除Oracle实例
  • 与Oracle RAC相关的连接配置写法实例
  • Oracle监听器Server端与Client端配置实例
  • Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例
  • oracle删除已存在的表的实例
  • Aix 5.3下自动备份Oracle多个实例
  • Oracle数据库安全性管理基本措施实例解析
  • Oracle数据库恢复后心得
  • oracle中误删除表后恢复语句(FLASHBACK) iis7站长之家
  • oracle drop table(表)数据恢复方法
  • Oracle数据库备份和恢复工具 RMan
  • oracle备份恢复的具体方法
  • oracle中误删除表后恢复语句(FLASHBACK)
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • Oracle11g备份和恢复功能的提高
  • 实战Oracle数据库备份与恢复
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3