zoukankan      html  css  js  c++  java
  • Oracle数据库不完全恢复

    需要不完全恢复的情况
    完全恢复由于归档日志文件丢失而失败
    丢失了数据文件和一个或多个未归档重做日志文件
    使用控制文件的备份打开或恢复数据库

    在下列情况下,通常需要执行整个数据库的不完全备份:
    重做日志丢失:重做日志未进行镜像,并且在某个重做日志归档前丢失了该日志以及数据文件。在丢失的重做日志之后无法继续执行恢复。
    归档丢失:完全恢复操作由于归档日志损坏或丢失而失败。应用归档日志之前,恢复只能完成到过去某个时间。
    备份控制文件:使用控制文件的备份而不是当前副本来打开数据库。在下列情况下需要使用控制文件备份:
         所有控制文件均已丢失,无法重新创建控制文件,但存在控制文件的二进制备份。对控制文件进行镜像(到不同磁盘上)并保持 CREATE CONTROLFILE 语句的当前文本版本可以减少必须使用这种方法的机会。 
         要将数据库恢复至过去某一时间点,且还原的数据库与当前数据库的结构不同。
    使用控制文件的旧副本执行恢复或打开数据库时,必须在 RECOVER DATABASE 命令中指定 USING BACKUP CONTROLFILE 子句。

    不完全恢复的类型
    基于时间的恢复
    使用 UNTIL TIME 子句,可以指定数据库应恢复到的过去的时间点。提交了直至指定时间的所有更改后恢复将终止。用户对数据进行了不必要的更改或删除了重要的表时,如果知道错误操作的大概时间,就可以使用此方法。如果您立即收到了系统通知,则恢复时间和数据丢失可降到最低。经过严格测试的程序、安全性和过程可以避免进行这种类型的恢复。
    基于取消的恢复
    在恢复过程中,可以在恢复提示符(而不是日志文件名)下输入 CANCEL 来终止恢复。可以在下列情况下使用此方法:
    当前重做日志文件或组被损坏,无法用于恢复。进行镜像可以避免进行这种类型的恢复。
    丢失了进行恢复所需的归档重做日志文件。经常备份以及制定多个归档目标可以避免进行这种类型的恢复。
    基于更改的恢复
    将 UNTIL CHANGE 子句用于用户管理的备份和将 UNTIL SCN 子句用于 RMAN 管理的备份,可以指定要恢复的最后一次提交更改的系统更改号 (SCN)。提交了直至指定 SCN 的所有更改后恢复将终止。可以在分布式环境中恢复数据库时使用此方法。还可以使用 UNTIL RESTORE POINT 语法并为 SCN 指定一个别名,即还原点。本课的后续部分将对还原点进行介绍。
    日志序列恢复
    使用 RMAN 管理的备份,可以通过 UNTIL SEQUENCE 子句指定要用于数据库恢复的最后日志序列号。在应用了直至(但不包括)指定的日志文件的所有日志文件后,恢复将终止。

  • 相关阅读:
    免费的视频、音频转文本
    Errors are values
    Codebase Refactoring (with help from Go)
    Golang中的坑二
    Cleaner, more elegant, and wrong(msdn blog)
    Cleaner, more elegant, and wrong(翻译)
    Cleaner, more elegant, and harder to recognize(翻译)
    vue控制父子组件渲染顺序
    computed 和 watch 组合使用,监听数据全局数据状态
    webstorm破解方法
  • 原文地址:https://www.cnblogs.com/landexia/p/3049121.html
Copyright © 2011-2022 走看看