li
  当前位置:主页 > 备份恢复 > 文章内容
li
恢复之丢失全部控制文件以及备份中的控制文件
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:16  

如果控制文件全部丢失,且没有控制文件的备份,则只能通过CREATE CONTROLFILE命令来重建控制文件。


利用这种CREATE CONTROLFILE的方式重建控制文件不需要使用RESETLOGS方式打开数据库。

如果在最后一次数据库结构修改后使用了ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS命令备份了创建控制文件的脚本,则可以直接用TRACE文件中的脚本进行控制文件的重建。

如果使用ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS命令之后又进行了数据库结构的修改,则需要手工编辑TRACE文件中的脚本,来反映出数据库最后的修改。

如果是使用的ALTER DATABASE BACKUP CONTROLFILE TO FILENAME方式进行的备份(这种情况其实应该算作有备份的情况,不过如果利用备份进行恢复需要使用RESETLOGS方式打开数据库),则可以利用备份的控制文件首先将数据库STARTUP MOUNT,然后再利用ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS命令备份建立控制文件的脚本,最后将备份控制文件后所有数据库结构的修改,反映到控制文件的脚本上。

如果控制文件没有任何方式的备份,那么只能通过手工方式编写CREATE CONTROLFILE语句,这时候需要了解所有数据文件和联机重做日志文件的位置和大小。

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" NORESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
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:ORACLEORADATATESTUSERS02.DBF',
19 'F:ORACLEORADATATESTYANGTK01.DBF'
20 CHARACTER SET ZHS16GBK
21 ;

控制文件已创建

SQL> RECOVER DATABASE
ORA-00283: ??????????
ORA-00264: ?????


SQL> ALTER SYSTEM ARCHIVE LOG ALL;

系统已更改。

SQL> ALTER DATABASE OPEN;

数据库已更改。

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

表空间已更改。

上面RECOVER DATABASE步骤的错误描述信息是数据库不需要恢复。因此,直接忽略这个错误。

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状态下备份
·备份之控制文件备份
·备份之联机表空间备份
·备份之全库一致性备份
·备份之脱机表空间备份
·Oracle提示的优先级最高?——一...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接