zoukankan      html  css  js  c++  java
  • Background Media Recovery terminated with ORA-1274 after adding a Datafile (Doc ID 739618.1)

    APPLIES TO:

    Oracle Database - Enterprise Edition - Version 9.2.0.1 to 12.1.0.2 [Release 9.2 to 12.1]
    Information in this document applies to any platform.
    ***Checked for relevance on 26-Sep-2012*** 
    ***Checked for relevance on 8-Jul-2015***

    SYMPTOMS

    Adding a Tablespace / Datafile in Primary Database causes the MRP in Physical Standby Database to terminate with the Error below. STANDBY_FILE_MANAGEMENT = MANUAL is set on the Standby Database.

    MRP0: Background Media Recovery terminated with error 1274 
    ORA-01274: cannot add datafile '...dbf' - file could not be created


    In Unix Environment you will get the below Message when try to restart the MRP


    ORA-01111: name for data file 163 is unknown - rename to correct file

     BEST Practice,

    Keep the STANDBY_FILE_MANAGEMENT in AUTO.

    CAUSE


    This Error occurs if we add a Datafile OR Tablespace in PRIMARY Database and that could not be translated to the Standby Database due to these Reasons:

    • Standby_file_management is set to MANUAL
    • Primary & Physical Standby are having different file structures and DB_FILE_NAME_CONVERT is not set according to the Directory Structures in Primary and Standby
    • Insufficient Space or wrong Permissions on the Standby Database to create the Datafile
    • If standby_file_management is set to Auto ,but directory path of Primary and standby are different , db_file_name_convert is not set ,but db_create_file_dest has been set to wrong value on standby.


    The Redo Log generated from Primary will have Information about the Tablespace / Datafile added however it could not be created successfully in Physical Standby Database due to the standby_file_management = MANUAL
    or is not able to find the specified Folder due to a missing / incorrect Filename Conversion. 
    The File Entry is added to Standby Controlfile as "UNNAMED0000n" in /dbs or /database 
    folder depends on the Operating System and eventually the MRP terminates.

    Alert Log in Standby Shows MRP is terminated with below error 
    ================================================================= 
    File #5 added to control file as 'UNNAMED00005' because 
    the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL 
    The file should be manually created to continue. 
    MRP0: Background Media Recovery terminated with error 1274 
    Thu Sep 25 19:02:35 2008 
    Errors in file c:oracleproduct10.2.0adminmystddumpmystd_mrp0_3436.trc: 
    ORA-01274: cannot add datafile 'D:ORADATAPRIMSALES01.DBF' - file could not be created




    By default it is AUTO by broker.

    SOLUTION

    Perform all mentioned Steps on the Standby Database:

     

    For version < 12c

    Step 1: Ensure the standby_file_management = 'MANUAL.

    NOTE : For the parameter db_file_name_convert change if the Data Guard Broker is enabled then edit the Parameters using the Broker

     

    DGMGRL>edit database '<standby>' set property DbFileNameConvert='<>','<>';
    DGMGRL>edit database '<standby>' set property StandbyFileManagement=manual;


    By default StandbyFileManagement is AUTO by broker.

    Step 2: Identify the File which is "unnamedn"

    SQL> select name from v$datafile;


    NAME 
    -------------------------------------------------------------------------------- 
    D:ORADATAMYSTDSYSTEM.DBF 
    D:ORADATAMYSTDUNDO.DBF 
    D:ORADATAMYSTDSYSAUX.DBF 
    D:ORADATAMYSTDSERVICE01.DBF 
    C:ORACLEPRODUCT10.2.0DB_1DATABASEUNNAMED00005 



    Step 3: Rename/create the Datafile to the correct Filename

    SQL> alter database create datafile 'C:ORACLEPRODUCT10.2.0DB_1DATABASEUNNAMED00005' as 'D:oradatamystdsales01.dbf';


    If the standby is in ASM + OMF then use the below command,

    SQL> alter database create datafile '/oracle/product/GSIPRDGB/dbs/UNNAMED00210' as <'+ASMDISKGROUPNAME'> size <specify the size of datafile>;


    or

    SQL>alter database create datafile '/oracle/product/GSIPRDGB/dbs/UNNAMED00210' as new;



    Step 4: Verify the Filename is correct

    SQL> select name from v$datafile;


    NAME 
    -------------------------------------------------------------------------------- 
    D:ORADATAMYSTDSYSTEM.DBF 
    D:ORADATAMYSTDUNDO.DBF 
    D:ORADATAMYSTDSYSAUX.DBF 
    D:ORADATAMYSTDSERVICE01.DBF 
    D:ORADATAMYSTDSALES01.DBF 


    Step 5: Change the STANDBY_FILE_MANAGMENT to AUTO

    SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;



    Step 6: Start the MRP (this is using Real Time Apply)

    SQL> alter database recover managed standby database using current logfile disconnect;



    Database altered. 


    Step 7: Verify the MRP is running as expected

    SQL> select process, status , sequence# from v$managed_standby;
    PROCESS STATUS SEQUENCE# 
    --------- ------------ ---------- 
    ARCH CLOSING 99 
    ARCH CLOSING 103 
    MRP0 APPLYING_LOG 104 
    RFS IDLE 0 
    RFS IDLE 0 
    RFS IDLE 104

    For 12c Database with PDBs :-

    Step 1: Ensure the standby_file_management = 'MANUAL'

    NOTE : For the parameter db_file_name_convert change if the Data Guard Broker is enabled then edit the Parameters using the Broker,
    DGMGRL>edit database '<standby>' set property DbFileNameConvert='<>','<>';
    DGMGRL>edit database '<standby>' set property StandbyFileManagement=manual;



    Step 2:- Identify the Pdb with datafile name UNNAMED

    column name format a50

    column pdb_name format a8

    select a.file#,a.name,a.con_id,b.pdb_id,b.pdb_name from v$datafile a,dba_pdbs b where a.con_id=b.con_id and a.name like '%UNNAM%';



    Step 3:-  Set the container to that pdb

    In Below example assuming pdb1 is the container

    SQL> alter session set container = pdb1;

    Session altered.

    FILE# NAME CON_ID PDB_ID PDB_NAME
    --------- -------------------------------------------------- ---------- ---------- --------
    5 D:ORADATAMYSTDUNNAMED00005 3 3 PDB1

    SQL> alter pluggable database pdb1 CREATE DATAFILE 'D:ORADATAMYSTDUNNAMED00005' as 'D:ORADATAMYSTDSP385343393_ess.dbf';

    Pluggable database altered.

    Step 4-7 are same as listed for version < 12c

  • 相关阅读:
    辅助构造器
    pycharm、webstorm和idea激活码
    Executor
    生产者和消费者模型
    Master和worker模式
    Future模式
    记事本中快速查看数字对应的ASCII
    C#中时间戳和日期相互转换
    Dos命令调用FlashFXP上传文件
    curl 上传文件
  • 原文地址:https://www.cnblogs.com/abclife/p/7324648.html
Copyright © 2011-2022 走看看