暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle故障处理之DG宕机重启MRP进程报错:ORA-01111(10g)或ORA-01274(11g)

数据与人 2020-12-15
2267

问题背景:
客户dataguard宕机重启后,MRP进程因缺少数据文件起不来

报错如下:

    ORA-01111: name for data file 19 is unknown - rename to correct file
    复制


    解决过程

    1> 检查dataguard

    数据库已经正常启动,尝试启动MRP进程起不来

    查看alert日志 (10g)

      Errors in file home/oracle/admin/oradb/bdump/zjport_mrp0_17798.trc:
      ORA-01111: name for data file 19 is unknown - rename to correct file
      ORA-01110: data file 19: '/home/oracle/product/10.2.0/db_1/dbs/UNNAMED00019'
      ORA-01157: cannot identify/lock data file 19 - see DBWR trace file
      ORA-01111: name for data file 19 is unknown - rename to correct file
      ORA-01110: data file 19: '/home/oracle/product/10.2.0/db_1/dbs/UNNAMED00019'
      MRP0: Background Media Recovery process shutdown (oradb)
      复制


      查看alert日志发现datafile为19的数据库文件缺失,尝试重新创建

      复制
        ALTER SYSTEM SET standby_file_management='MANUAL' SCOPE=BOTH;
        alter database create datafile '/home/oracle/product/10.2.0/db_1/dbs/UNNAMED00019' as '/u01/oracle/oradata/oradb/test02.dbf'
        ALTER SYSTEM SET standby_file_management='AUTO' SCOPE=BOTH;
        复制
        复制

        2> 重启MRP进程

        复制
          ALTER DATABASE RECOVER managed standby database disconnect from session parallel 12;
          复制


          11g环境

          如果是11g则报错可能如下:


            File #1103 added to control file as 'UNNAMED01103' because
            the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL
            The file should be manually created to continue.
            Errors with log oradb/db_dg_arc/oradb/oradb_2_193066_899639967.arc
            MRP0: Background Media Recovery terminated with error 1274
            Errors in file u01/oracle/diag/rdbms/oradb/oradb/trace/oradb_pr00_25640.trc:
            ORA-01274: cannot add datafile '+oradb/oradb/datafile/sysaux_04.dbf' - file could not be created
            Managed Standby Recovery not using Real Time Apply
            Recovery interrupted!
            复制


            datafile为1103的数据文件缺失,尝试重新创建

            复制
              ALTER SYSTEM SET standby_file_management='MANUAL' SCOPE=BOTH;
              alter database create datafile '/u01/oracle/product/db11gr2/dbs/UNNAMED01103' as '/sxbddj/sxbddjdat_u01/sxbddj/sysaux_04.dbf';
              ALTER SYSTEM SET standby_file_management='AUTO' SCOPE=BOTH;
              ALTER DATABASE RECOVER managed standby database disconnect from session parallel 12 ;
              复制

              复制

              如果不知道文件编号所代表的数据文件是哪一个,可以从主库中获取信息

              复制
                SQL> select name from v$datafile where file#=1103;
                NAME
                --------------------------------------------------------------------------------
                oradb/oradb/datafile/sysaux_04.dbf
                复制

                复制



                往期回顾


                MySQL故障处理之启动报错-The server quit without updating PID file[FAILED]
                MySQL故障处理之使用外部数据源连接WIN版本的MySQL时,测试连接无法通过


                客官长按关注

                吾辈自强不息


                文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论