OracleDB执行数据库恢复分解.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle DB 执行数据库恢复 ? 确定是否需要执行恢复 ? 访问不同的界面(如Enterprise Manager 和命令行) ? 描述并使用可用的方案,如Recovery Manager (RMAN) 和数据恢复指导 ? 对以下文件执行恢复: – 控制文件 – 重做日志文件 – 数据文件 打开数据库 要打开数据库,必须满足以下条件: ? 所有控制文件都必须存在且已同步 ? 所有联机数据文件都必须存在且已同步 ? 每个重做日志组必须至少有一个成员存在 打开数据库 当数据库从关闭阶段转为完全打开阶段时,数据库会对以下阶段执行内部一致性检查: ? NOMOUNT:实例要达到NOMOUNT(又称STARTED)状态,就必须读取初始化参数文件。实例进入NOMOUNT状态时,不会检查任何数据库文件。 ? MOUNT:实例进入MOUNT状态时,会检查初始化参数文件中列出的所有控制文件是否都存在且已同步。即使有一个控制文件缺失或损坏,实例也会向管理员返回错误 (指明控制文件缺失)并保持NOMOUNT状态。 ? OPEN:实例从MOUNT状态转为OPEN状态时,它会执行以下操作: - 检查控制文件已知的所有重做日志组是否至少有一个成员存在。任何缺失的成员会记录在预警日志中。 - 验证控制文件已知的所有数据文件是否存在,但不验证脱机文件。 在管理员尝试使脱机的文件联机之前,不会检查这些文件。如果数据文件不属于SYSTEM或UNDO表空间,管理员就可使数据文件脱机并打开实例。如果缺失了任何文 件,则向管理员返回一个错误,指出第一个缺失的文件,此时实例保持MOUNT状态。当实例发现缺失文件时,错误消息中只显示导致问题的第一个文件。要查找需要恢复的所有文件,管理员可通过检查v$recover_file动态性能视图来获取需要注意的文件的完整列表: SQL startup ORACLE instance started. Total System Global Area 171966464 bytes Fixed Size 775608 bytes Variable Size 145762888 bytes Database Buffersbytes Redo Buffers 262144 bytes Database mounted. ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: /oracle/oradata/orcl/users01.dbf SQL?SELECT name, error FROM v$datafile JOIN v$recover_file USING (file#); NAME ERROR ----------------------------------- ------------------ /oracle/oradata/orcl/users01.dbf FILE NOT FOUND /oracle/oradata/orcl/example01.dbf FILE NOT FOUND -?验证所有未脱机数据文件或只读数据文件是否与控制文件同步。必要时,实例会自动执行恢复。但是,如果某个文件不同步,导致无法通过使用联机重做日 志组进行恢复,管理员必须执行介质恢复。如果任何文件需要进行介质恢复,则向管理员返回一条错误消息,指出第一个需要恢复的文件,此时实例保持MOUNT状态: ORA-01113: file 4 needs media recovery ORA-01110: data file 4: /oracle/oradata/orcl/users01.dbf 此外,v$recover_file会提供需要注意的文件的完整列表。其中列出了存在的且需要进行介质恢复的文件,但不显示错误消息。 使数据库保持在打开状态 打开数据库后,如果有以下项丢失,数据库会失败: ? 任何控制文件 ? 属于系统表空间或还原表空间的数据文件 ? 整个重做日志组(只要组中至少有一个成员可用,实例就会保持打开状态。) 使数据库保持在打开状态 打开数据库后,以下介质故障可能会导致实例失败:丢失了控制文件,丢失了整个重做日志组,或者丢失了属于SYSTEM或UNDO表空间的数据文件。即使是丢失了一个非活动的重做日志组,数据库也会因为日志切换而最终失败。 在许多情况下,失败的实例并没有完全关闭,但是不能继续工作。必须在关闭了数据库的情况下从这些类型的介质故障进行恢复。因此,管理员必须先执行SHUTDOWN ABORT命令,然后才能开始恢复工作。 丢失了属于其它表空间的数据文件不会导致实例失败,并且可以在数

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档