请选择 进入手机版 | 继续访问电脑版

ORACLE_OCP之备份-恢复概念与实例恢复深入

[复制链接]
菜鸡 发表于 2021-1-2 19:43:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
ORACLE_OCP之备份-规复概念与实例规复深入



  • 文章目标:

    • 确定Oracle数据库中大概发生的故障范例
    • 形貌实例规复
    • 形貌完全和不完全的规复

一、DBA职责



  • 尽大概掩护数据库免于灾难
  • 增加均匀故障隔断时间(MTBF)–淘汰故障率
  • 使用冗余计谋掩护关键组件
  • 淘汰均匀规复时间(MTTR)–淘汰数据库规复时间
  • 最大限度地淘汰数据丢失。 DBA可以遵循最佳的实践履历来设置其数据库,这样就不会丢失任何已提交的事务。 有助于包管这一点的实体包罗:

    • Archive log files-归档日志文件(在本课程的背面讨论)
    • Flashback technology-闪回技能
    • Oracle Data Guard-ORACLE数据卫士(不属于ORACLE OCP测验范畴会在背面做专题讲授)

二、故障级别



  • 故障通常分为:

    • 语句错误
    • 用户进程故障
    • 网络故障
    • 用户人为故障
    • 实例故障
    • 介质故障

三、语句错误


四、用户进程故障


五、网络故障


六、用户错误


七、闪回技能



  • 使用闪回技能:

    • 查察已往的数据状态
    • 实时修复数据
    • 协助用户举行错误分析和规复




  • Oracle数据库包罗Oracle闪回技能:一组可支持查察数据的已往状态与规复数据的功能,无需从备份中还原数据库。借助这项技能,您可以资助用户分析错误并从错误中规复。对于已做堕落的用户,请使用以下内容分析错误:

    • 闪回查询:查察已往某个时间存在的已提交数据。(已修改或已删除的数据)
    • 闪回版本查询:查察特定时间隔断内已经提交了的行记载。(已经提交的事务)。
    • 闪回事务查询:查察在事务级别举行的所有数据库更改。
    • 闪回事务回退:回滚特定事务和附属事务
    • 闪回表:在不影响其他数据库对象的情况下,将一个或多个表上规复成已往的样子
    • 闪回删除(DROP):通过将删除的表与相关对象(比方索引和触发器)一起从接纳站返回到数据库,来消除删除表的影响
    • 闪回数据库:将数据库返回到已往的时间

八、实例故障


九、相识实例规复:查抄点(CKPT)进程深入



  • CKPT负责:

    • 使用查抄点信息更新数据文件头
    • 使用查抄点信息更新控制文件
    • 查抄点进程向DBWn发出信号


十、SCN 系统改变号



  • 在Oracle中SCN相当于它的时钟,在现实生活中我们用时钟来记载和权衡我们的时间,而Oracle就是用SCN来记载和权衡整个Oracle系统的更改。
  • Oracle中checkpoint是在一个特定的“时间点”发生的,权衡这个“时间点”用的就是SCN,因此当一个checkpoint发生时SCN会被写入文件头中以记载这个checkpoint。
  • 为什么不消系统时钟作为数据库内部记载时间?

    • 是因为系统时钟大概会发生改变(人为调治大概时钟服务器自动同步)。

  • 要相识实例规复,您需要相识某些背景进程的功能:

    • CKPT进程每三秒钟(或更频仍地)将数据存储在控制文件中,以记载DBWn从SGA写入磁盘的修改后的数据块。这称为“增量查抄点”。查抄点的目标是在联机重做日志文件中标识开始实例规复的位置(称为“查抄点位置”)。
    • 如果发生日志切换,则CKPT进程还将此查抄点信息写入数据文件头中。

  • 存在查抄点的原因如下:

    • 确保将内存中修改后的数据块定期写入磁盘,以便在系统或数据库出现故障时不会丢失数据
      为了淘汰实例规复所需的时间(仅需要处理处罚最后一个查抄点之后的联机重做日志文件条目以举行规复。)
    • 确保在关机期间已将所有提交的数据写入数据文件(完全查抄点)

  • CKPT进程编写的查抄点信息包罗查抄点位置,系统更改号(SCN),在线重做日志文件中开始规复的位置,有关日志的信息等。
  注意:CKPT进程不会将数据块写入磁盘,也不会将重做块写入在线重做日志文件。
十一、完全查抄点(normal checkpoint)



  • 在Oracle8i之前,数据库的发生的查抄点都是完全查抄点。完全查抄点会将数据缓冲区(DB_BUFFER_CACHE)内里所有的脏数据块写入相应的数据文件中,同时将最新的checkpoint scn更新到所有的数据文件头部及控制文件。包管数据库的处于一致的状态。需要注意的是,完全查抄点产生的时候,CKPT并不是把当前完全查抄点发生那一时刻的SCN更新到控制文件和数据文件头,而是将这个触发查抄点时刻DBWn当前刚写完 dirty buffer(脏数据)对应的SCN更新到控制文件和数据文件头,也就是说,更新控制文件和数据文件头的SCN是滞后于完全查抄点的发生那一时刻的SCN的,因为查抄点发生的时候要写入dirty buffer还没有写入,自然不能立刻更新成当前的SCN了。
  • 下面这些操纵将会触发完全查抄点(normal checkpoint )事件:

  • 日志切换:通过ALTER SYSTEM SWITCH LOGFILE;
  • DBA发出checkpoint下令,通过ALTER SYSTEM checkpoint;
  • 对数据文件举行热备时,针对该数据文件的checkpoint也会举行,ALTER TABLESPACE TS_NAME BEGIN BACKUP/END BACKUP。
  • 当运行ALTER TABLESPACE/DATAFILE READ ONLY的时候。
  • 数据库正常shutdown (immediate,transcational,normal)。
  注意:日志切换会导致checkpoint事件发生,但是checkpoint发生却不会导致日志切换。
十二、相识实例规复:REDO FILE和LGWR深入



  • Redo log files:

    • 记载对数据库的更改
    • 应该多路复用以防止丢失

  • Log Writer (LGWR) writes:

    • 提交时
    • 当三分之一布满
    • 每三秒钟
    • 在DBWn写入之前
    • 彻底关机之前
    • 。。。。。。


十三、实例规复



  • 自动实例规复大概实例瓦解后规复:

    • 实验打开由不规范关机而导致的数据不一致的数据库
    • 使用存储在重做日志组中的信息与UNDO里的信息来同步数据文件
    • 涉及两个差异的操纵:前滚和回滚

十四、实例规复过程



  • 实例启动(数据文件差异步)
  • 前滚(重做):已提交未写入
  • 文件中包罗已提交和未提交的数据。颠末前滚后只剩下未提交已写入的数据
  • 数据库已打开
  • 回滚(撤消):未提交已写入或未提交事务记载举行回滚
  • 文件中已提交的数据
实例启动时要颠末三个阶段:



  • 1、STARTUP NOMOUNT; 使用SPFILE在内存中产生实例,并找到控制文件位置。
  • 2、ALTER DATABASE MOUNT; 使用控制文件把所有的数据文件 日志文件举行挂载,并确定相关文件状态。
  • 3、ALTER DATABASE OPEN;打开数据库(此阶段举行实例规复)
  • 第一个阶段和第二个阶段都不会发生实例规复,都不会查抄数据库的完整性,只有在第三个阶段才会去查抄数据库的完整性。如果完整性有问题了就需要规复了。
  • SQL> alter database open; 第三个阶段将数据库打开发生实例规复
  • 前滚,即redo的过程不是执行SQL的过程,实际上是一个数据块修正的过程,因为数据库还没有打开,SQL语句都没有办法分析,所以使用redo在数据块上面举行更新。在将所有可以应用的redo应用完之后,这个时候数据库就可以打开了。数据库打开就可以使用了,这个时候就有了回滚的问题。在数据库非正常关闭情况下,有些事务还没有提交(有大概已经被写入到数据库中),大概数据库就关闭了,这些事务将数据修改了但是没有提交,重启之后就要将这些没有提交的事务回滚。回滚就将UNDO中回滚段相应的数据拿返来就行了。回滚是在数据库打开之后做的,而不是先前滚再回滚最后打开数据库。
十五、实例规复调优



  • 在实例规复期间,必须将查抄点位置和重做日志末了之间的事务应用于数据文件。
  • 您可以通过控制查抄点位置和重做日志竣事之间的差异来调解实例规复。

十六、介质故障


十七、比力完全规复和不完全规复



  • 规复可以有两种范围:

    • 完全规复:使数据库或表空间保持最新状态,包罗到请求规复的时间点所做的所有提交的数据更改
    • 不完全或时间点规复(PITR):在请求规复操纵之前,将数据库或表空间规复到已往的指定时间点


十八、完全规复过程


十九、基于时间点规复过程(不完全规复)



来源:https://blog.csdn.net/XiaoHG_CSDN/article/details/112062420
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )