免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2206 | 回复: 0
打印 上一主题 下一主题

[数据库] 使用_allow_resetlogs_corruption打开无归档日志rman备份库 [复制链接]

论坛徽章:
8
数据库技术版块每日发帖之星
日期:2016-04-29 06:20:00数据库技术版块每日发帖之星
日期:2016-04-30 06:20:00数据库技术版块每日发帖之星
日期:2016-05-13 06:20:00数据库技术版块每日发帖之星
日期:2016-05-15 06:20:00数据库技术版块每日发帖之星
日期:2016-05-19 06:20:00数据库技术版块每日发帖之星
日期:2016-05-20 06:20:00数据库技术版块每日发帖之星
日期:2016-06-02 06:20:00数据库技术版块每日发帖之星
日期:2016-06-05 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-02 15:27 |只看该作者 |倒序浏览
使用_allow_resetlogs_corruption打开无归档日志rman备份库

rman还原恢复操作

--还原数据库

RMAN> restore database;

--恢复数据库

RMAN> recover database;



Starting recover at 2012-03-08 21:20:45

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=65 device type=DISK



starting media recovery



RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of recover command at 03/08/2012 21:20:47

RMAN-06053: unable to perform media recovery because of missing log

RMAN-06025: no backup of archived log for thread 1 with sequence 2936 and starting SCN of 25991695 found to restore

RMAN-06025: no backup of archived log for thread 1 with sequence 2935 and starting SCN of 25991652 found to restore

RMAN-06025: no backup of archived log for thread 1 with sequence 2934 and starting SCN of 25991649 found to restore

……………………

RMAN-06025: no backup of archived log for thread 1 with sequence 2902 and starting SCN of 25991156 found to restore

这里报日志缺少,实际上是备份的数据库文件后,没有备份归档日志,归档日志全部丢失

进行不完全恢复

SQL> recover database until cancel;

ORA-00279: change 25991194 generated at 03/08/2012 20:33:58 needed for thread 1

ORA-00289: suggestion : /opt/oracle/oradata/archivelog/chf/1_2902_752334071.dbf

ORA-00280: change 25991194 for thread 1 is in sequence #2902





Specify log: {=suggested | filename | AUTO | CANCEL}

cancel

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/opt/oracle/oradata/chf/system01.dbf'





ORA-01112: media recovery not started





SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/opt/oracle/oradata/chf/system01.dbf'

查看相关SCN

SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile;



     FILE# TO_CHAR(CHECK

---------- -------------

         1      25992214

         2      25992214

         3      25992214

         4      25992214

         5      25992214

         6      25992214

         7      25992214

         8      25992214

         9      25992214

        10      25992214

        11      25992214



     FILE# TO_CHAR(CHECK

---------- -------------

        13      25992214

        14      25992214



13 rows selected.



SQL> select file#,online_status,to_char(change#,'999999999999') from v$recover_file;



     FILE# ONLINE_ TO_CHAR(CHANG

---------- ------- -------------

         1 ONLINE       25991194

         2 ONLINE       25991194

         3 ONLINE       25991194

         4 ONLINE       25991194

         5 ONLINE       25991194

         6 ONLINE       25991194

         7 ONLINE       25991194

         8 ONLINE       25991194

         9 ONLINE       25991194

        10 ONLINE       25991194

        11 ONLINE       25991194



     FILE# ONLINE_ TO_CHAR(CHANG

---------- ------- -------------

        13 ONLINE       25991194

        14 ONLINE       25991194



13 rows selected.



SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile_header;



     FILE# TO_CHAR(CHECK

---------- -------------

         1      25991194

         2      25991194

         3      25991194

         4      25991194

         5      25991194

         6      25991194

         7      25991194

         8      25991194

         9      25991194

        10      25991194

        11      25991194



     FILE# TO_CHAR(CHECK

---------- -------------

        13      25991194

        14      25991194



13 rows selected.



--发现数据文件scn和控制文件不一致,重建控制文件,然后查询相关scn

SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile;



     FILE# TO_CHAR(CHECK

---------- -------------

         1      25991194

         2      25991194

         3      25991194

         4      25991194

         5      25991194

         6      25991194

         7      25991194

         8      25991194

         9      25991194

        10      25991194

        11      25991194



     FILE# TO_CHAR(CHECK

---------- -------------

        13      25991194

        14      25991194



13 rows selected.



SQL> select file#,online_status,to_char(change#,'999999999999') from v$recover_file;



     FILE# ONLINE_ TO_CHAR(CHANG

---------- ------- -------------

         1 ONLINE       25991194

         2 ONLINE       25991194

         3 ONLINE       25991194

         4 ONLINE       25991194

         5 ONLINE       25991194

         6 ONLINE       25991194

         7 ONLINE       25991194

         8 ONLINE       25991194

         9 ONLINE       25991194

        10 ONLINE       25991194

        11 ONLINE       25991194



     FILE# ONLINE_ TO_CHAR(CHANG

---------- ------- -------------

        13 ONLINE       25991194

        14 ONLINE       25991194



13 rows selected.



SQL> select file#,to_char(checkpoint_change#,'999999999999') from v$datafile_header;



     FILE# TO_CHAR(CHECK

---------- -------------

         1      25991194

         2      25991194

         3      25991194

         4      25991194

         5      25991194

         6      25991194

         7      25991194

         8      25991194

         9      25991194

        10      25991194

        11      25991194



     FILE# TO_CHAR(CHECK

---------- -------------

        13      25991194

        14      25991194



13 rows selected.

--此时所有scn均一致

尝试打开数据库

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/opt/oracle/oradata/chf/system01.dbf'





SQL> recover database using backup controlfile until cancel;

ORA-00279: change 25991194 generated at 03/08/2012 20:33:58 needed for thread 1

ORA-00289: suggestion : /opt/oracle/oradata/archivelog/chf/1_2902_752334071.dbf

ORA-00280: change 25991194 for thread 1 is in sequence #2902





Specify log: {=suggested | filename | AUTO | CANCEL}

cancel

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/opt/oracle/oradata/chf/system01.dbf'





ORA-01112: media recovery not started



SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/opt/oracle/oradata/chf/system01.dbf'

使用隐含参数打开数据库

SQL> create pfile='/tmp/pfile' from spfile;



File created.



-------/tmp/pfile中加上----------

_allow_resetlogs_corruption= TRUE

---------------------------------



SQL> startup mount pfile='/tmp/pfile' force

ORACLE instance started.



Total System Global Area  622149632 bytes

Fixed Size                  2230912 bytes

Variable Size             419431808 bytes

Database Buffers          192937984 bytes

Redo Buffers                7548928 bytes

Database mounted.

SQL> alter database open resetlogs;



Database altered.



SQL> select open_mode from v$database;



OPEN_MODE

--------------------

READ WRITE

总结
这次的试验没有多少实际意义,但是可以说明几个问题:
1.所有的数据文件的scn都一致,甚至和控制文件的也一致,数据库不一定可以open成功
(怀疑是数据文件中的scn大于data header scn)
2.对于这样的问题,如果使用bbed修改所有数据文件header的scn不知道是否可以解决
3.如果rman只备份了数据文件而没有任何一个归档日志,数据库通过隐含参数还是可以open,抢救数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP