Oracle中recover database until cancel的技巧

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:[email protected]

 

问题:  前滚操作时,直到Oracle取消,如何进行恢复?

当你无需重做日志文件的备份,正在恢复冷备份时,为什么在使用“alter database open resetlogs”之前有必要执行“recover database until cancel”,有人能对此做出解释吗?

我执行下列步骤,我认为很简单,但是打开数据库时我收到错误。

SHUTDOWN IMMEDIATE

Restore all backup datafiles and controlfiles (OS copy)

STARTUP MOUNT

ALTER DATABASE OPEN RESETLOGS

ORA-01139: RESETLOGS option only valid after an incomplete database recovery

所以,我尝试使用

RECOVER DATABASE UNTIL CANCEL

ALTER DATABASE OPEN RESETLOGS

它起作用了,打开了数据库,创建了新的重做日志,我跟踪控制文件,发现了..

CREATE CONTROLFILE REUSE DATABASE “TEST” NORESETLOGS NOARCHIVEMODE …..

我认为这不是NORESETLOGS引起的问题,因为如果我使用指定的RESETLOGS 重建控制文件,它工作良好。


解决方法:  Oracle 文献注释:

在基于取消的恢复中,通过用建议的归档重做日志文件的文件名提示进行恢复。当你制定 CANCEL而不是一个文件名时或者所有的重做已经运用到数据文件时,恢复停止。

如果想要控制终止恢复的归档日志,基于取消的恢复要优于基于变化的恢复和基于时间的恢复,例如,或许你知道已经丢失序列号1234之后的所有日志,所以,在日志 1233被应用之后,你想要取消恢复。

你应该在这些阶段执行基于取消的多媒体恢复:

  • 通过备份数据库,纠正“Preparing for Incomplete Recovery”中描述的多媒体故障为恢复做准备。
  • 恢复 “Restoring Datafiles Before Performing Incomplete Recovery”中描述的备份数据文件,如果有当前的控制文件,那么就不要恢复备份的控制文件。
  • 在恢复的数据库备份上执行多媒体恢复,如下列程序描述:

执行基于取消的恢复:

  • 1. 启动SQL*Plus,使用管理员特权连接到。例如,输入:

% sqlplus ‘/ AS SYSDBA’

  •          2. 启用新实例,安装数据库:

STARTUP MOUNT

   3. 发布下列命令,开始基于取消的恢复:

RECOVER DATABASE UNTIL CANCEL

   

        

如果你在不完全恢复下使用备份的控制文件,那么在RECOVER命令中指定 USING BACKUP CONTROLFILE 选项。

RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE

注释:

如果在RECOVER命令上指定UNTIL语句失败,那么你将不能打开数据库,直到完全恢复完成。

  • 4. Oracle 应用必要的重做日志文件来重建恢复的数据文件, Oracle提供了名称,预计从LOG_ARCHIVE_DEST_1找到,并应用日志文件要求你停止或继续。 注意,如果该控制文件是一个备份,那么如果你想要应用这些日志中的变化,就必须提供在线日志的名称。

注释:

如果您使用Oracle真正应用集群配置,并且要执行不完全恢复或使用备份控制文件,那么Oracle只能计算从第一线的第一个归档重做日志文件的名称。其他线的第一个重做日志文件必须由用户提供,已知线中的第一个日志文件提供之后,Oracle会推荐这条线中接下来的日志文件的名称。

  • 5. 继续应用重做日志文件直到最后一个日志应用到恢复的数据文件中,然后,执行下列命令,取消恢复:
    CANCEL

    Oracle返回一条信息,表示恢复是否成功进行。注意,如果如果你在所有的数据文件恢复到连续的SCN之前取消恢复,并尝试打开数据库,那么如果文件需要更多的恢复,你会收到错误ORA-1113 。你可以查询 V$RECOVER_FILE,确定是否需要更多的恢复,或者是否在开始不完全恢复之前 ,恢复了数据文件的备份。

  •   6.  RESETLOGS模式下打开数据库。在不完全恢复或用备份控制文件恢复后,必须一直重设在线日志,例如,输入:

ALTER DATABASE OPEN RESETLOGS;”


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *