IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ORA-01245 ORA-01110 恢复

    惜分飞发表于 2015-08-30 17:21:06
    love 0

    有朋友找到我,说数据库做recover报ORA-01245和ORA-01110错误,无法继续恢复,请求支持

    SQL> recover database using backup controlfile until cancel;
    …………
    
    第 1 行出现错误:
    ORA-01245: RESETLOGS 完成时脱机文件 1 将丢失
    ORA-01110: 数据文件 1: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\SYSTEM01.DBF'
    

    通过Oracle Database Recovery Check检查数据库情况,发现datafile 1处于offline状态
    oracle_recovery_check


    Wed Aug 26 23:11:00 2015
    alter database datafile 1 offline drop
    Completed: alter database datafile 1 offline drop
    

    从这里基本上可以知道为什么出现ORA-01245错误了,由于system表空间中文件被offline导致.

    redo信息
    oracle_recovery_check_redo

    Mon Aug 24 22:38:35 2015
    alter database clear unarchived logfile group 2
    Clearing online log 2 of thread 1 sequence number 5705
    Completed: alter database clear unarchived logfile group 2
    Wed Aug 26 23:13:23 2015
    alter database clear logfile group 3
    Clearing online log 3 of thread 1 sequence number 5706
    Completed: alter database clear logfile group 3
    

    除当前redo之外,其他redo被clear

    尝试恢复

    SQL> alter database datafile 1 online;
    
    数据库已更改。
    
    SQL> recover database;
    ORA-00283: 恢复会话因错误而取消
    ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成
    
    
    SQL> recover database using backup controlfile;
    ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的
    ORA-00289: 建议:
    E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570
    
    5_%U_.ARC
    ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中
    
    
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO03.LOG
    ORA-00310: 归档日志包含序列 5706; 要求序列 5705
    ORA-00334: 归档日志: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO03.LOG'
    
    
    SQL> recover database using backup controlfile;
    ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的
    ORA-00289: 建议:
    E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570
    
    5_%U_.ARC
    ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中
    
    
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO02.LOG
    ORA-00339: 归档日志未包含任何重做
    ORA-00334: 归档日志: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO02.LOG'
    
    
    SQL> recover database using backup controlfile;
    ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的
    ORA-00289: 建议:
    E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570
    
    5_%U_.ARC
    ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中
    
    
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO01.LOG
    ORA-00310: 归档日志包含序列 5707; 要求序列 5705
    ORA-00334: 归档日志: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO01.LOG'
    

    数据库做恢复需要seq 5705的redo,但是redo已经被clear,导致现在数据库常规手段无法恢复,只用使用隐含参数屏蔽数据库前滚(一致性检查)

    再次尝试打开数据库

    ORACLE 例程已经启动。
    
    Total System Global Area  778387456 bytes
    Fixed Size                  1374808 bytes
    Variable Size             486540712 bytes
    Database Buffers          285212672 bytes
    Redo Buffers                5259264 bytes
    数据库装载完毕。
    SQL> recover database using backup controlfile;
    ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的
    ORA-00289: 建议:
    E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570
    
    5_%U_.ARC
    ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中
    
    
    指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel
    介质恢复已取消。
    SQL> alter database open resetlogs;
    
    数据库已更改。
    

    在数据库恢复中,请不要对system表空间数据文件进行offline操作,如果对此类文件进行offline操作,讲在数据库恢复过程中出现ORA-01245和ORA-01110错误,而且文件还会出现SYSOFF状态

    • ORA-00600[kcrf_resilver_log_1]异常恢复
    • 数据库恢复遭遇ORA-00600[3705]
    • 恢复备份控制文件避免resetlogs方式打开数据库
    • ORACLE 12C redo异常恢复测试—打上patch恢复完全
    • 重建控制文件丢失undo异常恢复—ORA-01173模拟与恢复
    • 当前联机日志损坏恢复
    • 分享一次ORA-01113 ORA-01110故障处理过程
    • 使用flashback database找回被误删除表空间
    • 记录8.0.5数据库恢复过程
    • 使用_allow_resetlogs_corruption打开无归档日志rman备份库
    • ORA-00205问题处理
    • ORACLE REDO各种异常恢复
    • 使用bbed解决ORA-01178 file N created before last CREATE CONTROLFILE, cannot recreate
    • ORACLE 12C redo异常恢复测试—部分pdb未正常open
    • _allow_resetlogs_corruption和adjust_scn解决ORA-01190


沪ICP备19023445号-2号
友情链接