北方站长站
客服热线:0632-5117766

如何使用备份的控制文件来恢复数据库?

[2008-01-31 05:02:00] 作者:秦凯 来源:北方站长站

Tags:恢复 数据库 文件 控制 使用 备份 如何 database 更改

  

问:如何使用备份的控制文件来恢复数据库?

答:你可以使用备份的控制文件(db物理结构已经变化)来恢复数据库。具体的示例请参考下文:

SQL> alter database backup controlfile to 'E:oracleproduct10.2.0oradataORCLctl_bakcontrol01.ctl';Database altered.SQL> create tablespace test datafile 'E:oracleproduct10.2.0oradataORCL est.dbf' size 5m;Tablespace created.SQL> select group# , sequence# , status from v$log;GROUP# SEQUENCE# STATUS---------- ---------- ----------------1 2 CURRENT2 0 UNUSED3 1 INACTIVESQL> create table t1(id int) tablespace test;Table created.SQL> insert into t1 values(1);1 row created.SQL> commit;Commit complete.SQL> alter system switch logfile;System altered.SQL> select group# , sequence# , status from v$log;GROUP# SEQUENCE# STATUS---------- ---------- ----------------1 2 ACTIVE2 3 CURRENT3 1 INACTIVESQL> insert into t1 values(2);1 row created.SQL> commit;Commit complete.SQL> alter system switch logfile;System altered.SQL> select group# , sequence# , status from v$log;GROUP# SEQUENCE# STATUS---------- ---------- ----------------1 2 ACTIVE2 3 ACTIVE3 4 CURRENTSQL> insert into t1 values(3);1 row created.SQL> commit;Commit complete.SQL> alter database backup controlfile to trace;Database altered.SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.--删除当前所有控制文件--拷贝最上面备份的控制文件回来,注意备份的控制文件中并没有记录test.dbfSQL> startup mountORA-32004: obsolete and/or deprecated parameter(s) specifiedORACLE instance started.Total System Global Area 167772160 bytesFixed Size 1247900 bytesVariable Size 71304548 bytesDatabase Buffers 92274688 bytesRedo Buffers 2945024 bytes数据库装载完毕。SQL> alter database open ;alter database open*第 1 行出现错误:ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项SQL> alter database open resetlogs;alter database open resetlogs*第 1 行出现错误:ORA-01152: 文件 1 没有从过旧的备份中恢复ORA-01110: 数据文件 1: 'E:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF'SQL> recover database using backup controlfile;ORA-00279: 更改 244868 (在 09/16/2007 16:00:16 生成) 对于线程 1 是必需的ORA-00289: 建议:E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2007_09_16O1_MF_1_2_%U_.ARCORA-00280: 更改 244868 (用于线程 1) 在序列 #2 中指定日志: {=suggested | filename | AUTO | CANCEL}autoORA-00283: 恢复会话因错误而取消ORA-01244: 未命名的数据文件由介质恢复添加至控制文件ORA-01110: 数据文件 2: 'E:ORACLEPRODUCT10.2.0ORADATAORCLTEST.DBF'ORA-01112: 未启动介质恢复SQL> alter database open resetlogs;alter database open resetlogs*第 1 行出现错误:ORA-01113: 文件 1 需要介质恢复ORA-01110: 数据文件 1: 'E:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF'--我认为之所以能恢复过来的原因是执行了recover datafile 1;SQL> recover datafile 1;ORA-00283: 恢复会话因错误而取消ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成在执行了recover datafile 1;之后再执行recover database using backup controlfile; oracle提示出“'E:ORACLEPRODUCT10.2.0DB_1DATABASEUNNAMED00002”信息,这是能恢复回来的关键!SQL> recover database using backup controlfile;ORA-00283: 恢复会话因错误而取消ORA-01111: 数据文件 2 名称未知 - 请重命名以更正文件ORA-01110: 数据文件 2: 'E:ORACLEPRODUCT10.2.0DB_1DATABASEUNNAMED00002'ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件ORA-01111: 数据文件 2 名称未知 - 请重命名以更正文件ORA-01110: 数据文件 2: 'E:ORACLEPRODUCT10.2.0DB_1DATABASEUNNAMED00002'SQL> alter database rename file 'E:ORACLEPRODUCT10.2.0DB_1DATABASEUNNAMED00002' to 'E:ORACLEPRODUCT10.2.0ORADATAORCLTEST.DBF';数据库已更改。SQL> recover database using backup controlfile;ORA-00279: 更改 244905 (在 09/16/2007 16:08:37 生成) 对于线程 1 是必需的ORA-00289: 建议:E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2007_09_16O1_MF_1_2_%U_.ARCORA-00280: 更改 244905 (用于线程 1) 在序列 #2 中指定日志: {=suggested | filename | AUTO | CANCEL}E:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOGORA-00279: 更改 244983 (在 09/16/2007 16:10:25 生成) 对于线程 1 是必需的ORA-00289: 建议:E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2007_09_16O1_MF_1_3_%U_.ARCORA-00280: 更改 244983 (用于线程 1) 在序列 #3 中ORA-00278: 此恢复不再需要日志文件'E:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG'指定日志: {=suggested | filename | AUTO | CANCEL}E:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG'ORA-01756: 引号内的字符串没有正确结束SQL> recover database using backup controlfile;ORA-00279: 更改 244983 (在 09/16/2007 16:10:25 生成) 对于线程 1 是必需的ORA-00289: 建议:E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2007_09_16O1_MF_1_3_%U_.ARCORA-00280: 更改 244983 (用于线程 1) 在序列 #3 中指定日志: {=suggested | filename | AUTO | CANCEL}E:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOGORA-00279: 更改 244992 (在 09/16/2007 16:10:47 生成) 对于线程 1 是必需的ORA-00289: 建议:E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2007_09_16O1_MF_1_4_%U_.ARCORA-00280: 更改 244992 (用于线程 1) 在序列 #4 中ORA-00278: 此恢复不再需要日志文件'E:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG'指定日志: {=suggested | filename | AUTO | CANCEL}E:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG'ORA-01756: 引号内的字符串没有正确结束SQL> recover database using backup controlfile;ORA-00279: 更改 244992 (在 09/16/2007 16:10:47 生成) 对于线程 1 是必需的ORA-00289: 建议:E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2007_09_16O1_MF_1_4_%U_.ARCORA-00280: 更改 244992 (用于线程 1) 在序列 #4 中指定日志: {=suggested | filename | AUTO | CANCEL}E:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG已应用的日志。完成介质恢复。SQL> alter database open resetlogs;数据库已更改。SQL> select * from t1;ID----------123...SQL>

(责任编辑:卢兆林)

 

News

 

info

 

down

出售手机裁听器,手机跟踪定位系统    企业网站,网城,购物网,都市导购,校园网    网上书店系统    上海电信机房服务器托管,双线主机托管    美女图片馆    15G 高清晰图片资源 无水印    室内装潢材料新产品杰威尔艺术漆    收一万ip的美女图片    大量收购个人网址导航网站    出售网址站PR=4alexa=119,764    

下一篇链接:Oracle特殊包和"DBMS_Job"包的使用方法 (1)

上一篇链接:巧用"rman"的TSPITR技术找回删除的表

评论】 【打印】 【加入收藏】 【关闭→论坛 →博客 →数据中心

 共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面