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

    记录一次ORA-01200完美恢复

    惜分飞发表于 2024-01-12 04:45:25
    love 0

    联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

    标题:记录一次ORA-01200完美恢复

    作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

    客户虚拟化平台断电,导致oracle其数据库启动ORA-01200错误

    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-01122: database file 1 failed verification check
    ORA-01110: data file 1: '/oradata/orcl/system01.dbf'
    ORA-01200: actual file size of 1122560 is smaller than correct size of 1131520 blocks
    

    对应的alert日志如下

    Thu Jan 11 11:36:48 2024
    ALTER DATABASE   MOUNT
    Successful mount of redo thread 1, with mount id 1685778896
    Database mounted in Exclusive Mode
    Lost write protection disabled
    Completed: ALTER DATABASE   MOUNT
    Thu Jan 11 11:36:52 2024
    ALTER DATABASE OPEN
    Read of datafile '/oradata/orcl/system01.dbf' (fno 1) header failed with ORA-01200
    Rereading datafile 1 header failed with ORA-01200
    Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_10847.trc:
    ORA-01122: database file 1 failed verification check
    ORA-01110: data file 1: '/oradata/orcl/system01.dbf'
    ORA-01200: actual file size of 1122560 is smaller than correct size of 1131520 blocks
    ORA-1122 signalled during: ALTER DATABASE OPEN...
    Thu Jan 11 11:36:53 2024
    Checker run found 1 new persistent data failures
    Thu Jan 11 11:41:55 2024
    alter database open
    Read of datafile '/oradata/orcl/system01.dbf' (fno 1) header failed with ORA-01200
    Rereading datafile 1 header failed with ORA-01200
    Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_12550.trc:
    ORA-01122: database file 1 failed verification check
    ORA-01110: data file 1: '/oradata/orcl/system01.dbf'
    ORA-01200: actual file size of 1122560 is smaller than correct size of 1131520 blocks
    ORA-1122 signalled during: alter database open...
    

    报错比较明显system01.dbf文件本来大小应该为1131521个block,但是实际上只有1122561个block,因此无法正常启动,通过修改数据文件欺骗数据库
    20240112123849


    然后对异常的system文件进行处理,把人工构造的部分除掉

    SQL> alter database datafile 1 resize 8770M;
    
    Database altered.
    

    rman检测system文件正常
    20240112124307


    数据库恢复完成,数据完美恢复(0丢失,不用逻辑迁移),该库可以继续使用,以前有过类似case:
    bbed处理ORA-01200故障
    ORA-01122 ORA-01200故障处理
    ORA-1200/ORA-1207数据库恢复

    • ORA-1200/ORA-1207数据库恢复
    • ORA-01122 ORA-01208 故障处理
    • ORA-01122 ORA-01200故障处理
    • Oracle Recovery Tools 解决ORA-01190 ORA-01248等故障
    • 硬件故障恢复出文件之后数据库故障处理
    • win系统删除oracle数据文件恢复
    • ORA-600 kcratr_scan_lastbwr 恢复
    • Oracle Recovery Tools快速恢复断电引起的无法正常启动数据库(ORA-01555,MISSING000等问题)
    • Oracle Recovery Tools 解决ORA-600 3020故障
    • ORA-01113 ORA-01110错误不一定都要Oracle Recovery Tools解决
    • Oracle Recovery Tools快速恢复ORA-19909
    • 磁盘空间不足迁移数据文件导致故障恢复


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