Oracle 恢复之using backup controlfile 和 until cancel
1、recover database/tablespace/datafile
Oracle以当前控制文件记录的SCN为恢复终点,将相关的datafile恢复到当前控制文件记录的SCN。
控制文件不能比数据文件更旧。完全恢复,利用归档日志和在线重做日志。
2、recover database/tablespace/datafile until cancel
只能在sql plus工具内执行。
在丢失日志的情况下,由Oracle判断恢复终点,不手工指定恢复终点。
控制文件不能比数据文件更旧,用于不完全恢复,在归档日志和在线重做日志都完整的情况下可以达到完全恢复的效果。
recover database until cancel命令输入AUTO选项时只会应用归档日志,而不会自动应用在线日志,需要手工指定在线日志进行恢复。
3、recover database using backup controlfile
只能在sql plus工具内执行。
如果当前控制文件全部损坏,需要还原控制文件,控制文件比数据文件更旧,此时需要使用using backup controlfile命令来告诉oracle,不要以还原出来的控制文件记录的SCN为恢复终点,而是要走完所有日志。
4、recover database using backup controlfile until cancel
只能在sql plus工具内执行。适用于当前全部控制文件和在线日志文件丢失的情况。
需要先还原控制文件,再使用using backup controlfile命令来告诉oracle,不要以还原出来的控制文件记录的SCN为恢复终点,而是由Oracle判断恢复终点。
SQL> recover database using backup controlfile until cancel ORA-00279: ?? 10018765 (? 04/30/2024 08:55:21 ??) ???? 1 ???? ORA-00289: ??: +FRA/ORCL/ARCHIVELOG/2024_04_30/thread_1_seq_2.642.1167643827 ORA-00280: ?? 10018765 (???? 1) ??? #2 ? Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
5、recover database until cancel using backup controlfile
与recover database using backup controlfile until cancel语句类似,网上有该语句不应用归档日志的说法,经实验验证,并没有不应用归档日志。
SQL> recover database until cancel using backup controlfile ORA-00279: ?? 10018765 (? 04/30/2024 08:55:21 ??) ???? 1 ???? ORA-00289: ??: +FRA/ORCL/ARCHIVELOG/2024_04_30/thread_1_seq_2.642.1167643827 ORA-00280: ?? 10018765 (???? 1) ??? #2 ? Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
6、until cancel和不带until cancel语句的区别(丢失日志不完全恢复时)
recover database until cancel语句的恢复终点并非丢失日志的前一个日志的最后一个entry,因为总会存在若干个entry与丢失的日志文件有关联,因此不能恢复到丢失日志的前一个日志的最后一个entry。
recover database语句的恢复终点为丢失日志的前一个日志的最后一个entry,由于存在若干个entry与丢失的日志文件有关联,所以数据库恢复过头了,不能打开。
本文来自博客园,作者:霜雪吴钩,转载请注明原文链接:https://www.cnblogs.com/aries0228/p/18189482
                    
                
                
            
        
浙公网安备 33010602011771号