旧控制文件的不完全恢复(sqlplus工具)

        这篇文章讨论的是使用sqlplus工具完成旧控制文件的不完全恢复,大部分的操作都和使用RMAN工具是相同的,请参考文章: http://space.itpub.net/23135684/viewspace-722050  ,只是在recover的时候有所区别。

1.使用sqlplus工具完成恢复操作。

SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成

        非最新的控制文件(控制文件中的数据库SCN小于数据文件头中的SCN-"启动SCN")在执行恢复操作的时候都需要使用backup controlfile选项。

SQL> recover database using backup controlfile;
ORA-00279: 更改 2710229 (在 04/22/2012 17:23:15 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_22\O1_MF_1_2721_7S7P9N
Y3_.ARC
ORA-00280: 更改 2710229 (用于线程 1) 在序列 #2721 中


指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: 更改 2710944 (在 04/22/2012 18:10:58 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_23\O1_MF_1_1_7SB4QJBM_
.ARC
ORA-00280: 更改 2710944 (用于线程 1) 在序列 #1 中
ORA-00278: 此恢复不再需要日志文件
'D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_22\O1_MF_1_2721_7S7P9
NY3_.ARC'


ORA-00279: 更改 2734329 (在 04/23/2012 15:46:34 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_23\O1_MF_1_2_7SB4QJV5_
.ARC
ORA-00280: 更改 2734329 (用于线程 1) 在序列 #2 中
ORA-00278: 此恢复不再需要日志文件
'D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_23\O1_MF_1_1_7SB4QJBM
_.ARC'


ORA-00279: 更改 2736148 (在 04/23/2012 16:29:36 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_24\O1_MF_1_1_7SD4W9OM_
.ARC
ORA-00280: 更改 2736148 (用于线程 1) 在序列 #1 中
ORA-00278: 此恢复不再需要日志文件
'D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_23\O1_MF_1_2_7SB4QJV5
_.ARC'


ORA-00279: 更改 2758812 (在 04/24/2012 10:44:24 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_26\O1_MF_1_2_7SKBF0V6_
.ARC
ORA-00280: 更改 2758812 (用于线程 1) 在序列 #2 中
ORA-00278: 此恢复不再需要日志文件
'D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_24\O1_MF_1_1_7SD4W9OM
_.ARC'


ORA-00279: 更改 2790212 (在 04/26/2012 09:49:20 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_28\O1_MF_1_3_7SPV285B_
.ARC
ORA-00280: 更改 2790212 (用于线程 1) 在序列 #3 中
ORA-00278: 此恢复不再需要日志文件
'D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_26\O1_MF_1_2_7SKBF0V6
_.ARC'


ORA-00279: 更改 2826163 (在 04/28/2012 12:04:23 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_28\O1_MF_1_4_%U_.ARC
ORA-00280: 更改 2826163 (用于线程 1) 在序列 #4 中
ORA-00278: 此恢复不再需要日志文件
'D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_28\O1_MF_1_3_7SPV285B
_.ARC'


ORA-00308: 无法打开归档日志
'D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_28\O1_MF_1_4_%U_.ARC'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

        这里无法打开的实际是联机Redo日志文件,sqlplus工具无法正确的找到这个文件,下面手动指定这个文件。

SQL> recover database using backup controlfile;
ORA-00279: 更改 2826163 (在 04/28/2012 12:04:23 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_28\O1_MF_1_4_%U_.ARC
ORA-00280: 更改 2826163 (用于线程 1) 在序列 #4 中


指定日志: {=suggested | filename | AUTO | CANCEL}
D:\app\oracle\oradata\orcl\REDO01.LOG
已应用的日志。
完成介质恢复。
SQL>

        sqlplus使用旧的控制文件执行不完全恢复需要指定using backup controlfile关键字,该关键字表示的是该恢复操作使用的是备份的、旧的控制文件执行的恢复操作。
        指定完联机控制文件后,数据库就恢复到了最新的状态,但利用最新的控制文件恢复都属于不完全恢复,必须用resetlogs才能打开数据库,原因在于保存在控制文件中的数据库检查点SCN一直未被更新。

2.打开数据库。

SQL> alter database open resetlogs;

数据库已更改。


结论:
        从上面的实验不难看出,使用sqlplus工具做恢复比使用rman做恢复更加的复杂,rman是一个非常智能的数据库恢复工具,推荐使用该工具完成数据库的还原和恢复操作。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23135684/viewspace-722450/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23135684/viewspace-722450/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值