li
  当前位置:主页 > 备份恢复 > 文章内容
li
恢复之利用备份在所有控制文件丢失情况下恢复(二)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:20  

控制文件全部丢失的情况下,根据联机重做日志文件是否可用和数据文件是否是最新的可以分为四种不同情况,这篇文章描述的是,数据文件是最新的,但是联机重做日志不可用的情况。


由于联机重做日志不可用,因此无法利用备份的控制文件进行恢复,而只能通过重建控制文件的方法。

如果利用归档的控制文件进行恢复,会发现在应用所有归档的重做日志之后,数据库仍然无法正常打开,数据库仍然需要联机日志进行恢复。因此,这种情况必须通过重建控制文件来完成。

SQL> CONN /@TEST AS SYSDBA
已连接。
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST DEL F:ORACLEORADATATEST*.CTL

SQL> HOST DEL F:ORACLEORADATATEST*.LOG

上面模拟了数据库正常关闭,丢失全部控制文件和全部日志文件的情况。

SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。

Total System Global Area 76619308 bytes
Fixed Size 454188 bytes
Variable Size 50331648 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 680
8 LOGFILE
9 GROUP 1 'F:ORACLEORADATATESTREDO01.LOG' SIZE 100M,
10 GROUP 2 'F:ORACLEORADATATESTREDO02.LOG' SIZE 100M,
11 GROUP 3 'F:ORACLEORADATATESTREDO03.LOG' SIZE 100M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'F:ORACLEORADATATESTSYSTEM01.DBF',
15 'F:ORACLEORADATATESTUNDOTBS01.DBF',
16 'F:ORACLEORADATATESTINDX01.DBF',
17 'F:ORACLEORADATATESTTOOLS01.DBF',
18 'F:ORACLEORADATATESTUSERS01.DBF',
19 'F:ORACLEORADATATESTYANGTK01.DBF'
20 CHARACTER SET ZHS16GBK
21 ;

控制文件已创建

SQL> ALTER DATABASE OPEN RESETLOGS;

数据库已更改。

可以利用以前备份到trace文件的重建控制文件脚本进行恢复,如果没有trace文件,则只能自己根据数据文件和重做日志文件的位置手工编辑重建控制文件的脚本。

重建控制文件后使用RESETLOGS方式打开即可。

最后将TEMP数据文件添加上。

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'F:ORACLEORADATATESTTEMP01.DBF'
2 SIZE 41943040 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

表空间已更改。

恢复结束,这时需要马上进行备份。

注意,这种情况的恢复要求数据库必须是正常关闭。如果数据库是以ABORT方式关闭,则需要进行数据库的不完全恢复。

www.ixdba.net





  上一篇: 恢复之还原归档重做日志   下一篇: 恢复之利用备份在所有控制文件丢...
li
 §相关评论  
 热点文章

·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 编辑推荐
·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 相关篇章
·恢复之还原归档重做日志
·恢复之利用备份在所有控制文件丢...
·恢复之数据库关闭时的完全恢复
·恢复之利用备份在所有控制文件丢...
·恢复之基于时间的不完整恢复
·恢复之数据库打开时的完全恢复
·恢复之非归档模式下数据库非正常...
·恢复之基于取消的不完整恢复
·恢复之基于改变的不完整恢复
·恢复之非归档模式下的恢复
·恢复之利用备份在所有控制文件丢...
·恢复之跨越重建控制文件的恢复
·恢复之丢失全部控制文件以及备份...
·恢复之单个控制文件损坏
·恢复之重建数据文件
·恢复之还原数据文件
·备份之归档重做日志备份
·备份之SUSPEND状态下备份
·备份之控制文件备份
·备份之联机表空间备份
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接