This discussion is archived
3 Replies Latest reply: Feb 7, 2013 9:33 PM by Hemant K Chitale RSS

Doubt regarding 'db_file_name_convert' parameter value

sandy121 Newbie
Currently Being Moderated
We need to setup one 3 node Data Guard Environment(One primary , 2 physical standby) and one 4 node data Guard Environment(One primary, 3 physical standby). But what will be format of db_file_name_convert in 3 node DG and 4 node DG ? Does the change of it's value(db_file_name_convert parameter) needs the instance to be restarted to be effective ?

Thanks in advance .
  • 1. Re: Doubt regarding 'db_file_name_convert' parameter value
    mseberg Guru
    Currently Being Moderated
    Hello;
    Does the instance need to be restarted to be effective?
    No the parameter is alter session.

    How you set it will depend upon the file locations at each Standby. Assuming each Standby had its own server and directory structure you would set as needed.

    Example :
    DB_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/RECOVER2', '/u01/app/oracle/oradata/RECLONE','/u01/oradata/RECOVER2','/u01/oradata/RECLONE')
    LOG_FILE_NAME_CONVERT=('/u01/app/oracle/flash_recovery_area/RECOVER2', '/u01/app/oracle/flash_recovery_area/RECLONE')
    So set it as needed for each standby.

    DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT initialization parameters on the standby database to automatically update the path names for primary database datafiles and archived redo log files and standby redo log files in the standby database control file.

    Best Regards

    mseberg
  • 2. Re: Doubt regarding 'db_file_name_convert' parameter value
    sandy121 Newbie
    Currently Being Moderated
    Thanks for reply. But what will be exact format in case of 3 nodes dataguard such /u01/oradata01 in primary p, /x01/oradata01 in standby a,/y01/oradata01 in standby b , so what for this what will be :-

    db_file_name convert in primary p - ?
    db_file_name convert in standby a - ?
    db_file_name convert in standby b - ?

    In case of 4 nodes dataguard such as /u01/oradata01 in primary p, /x01/oradata01 in standby a, /y01/oradata01 in standby b, /z01/oradata01 in standby c,
    so what will be :-

    db_file_name convert in primary p - ?
    db_file_name convert in standby a - ?
    db_file_name convert in standby b - ?
    db_file_name_convert in standby c - ?

    I know db_file_name_convert in (R,L) format R=Remote,L=Local format, but please try to reply with the exact 'db_file_name_convert' parameter values for oradata01 mountpoint, I will understand the same for other mount points and form the 'db_file_name_convert' parameter appropriately myself.

    Any help here is highly appreciated.

    Edited by: 918868 on Feb 7, 2013 7:45 PM
  • 3. Re: Doubt regarding 'db_file_name_convert' parameter value
    Hemant K Chitale Oracle ACE
    Currently Being Moderated
    As mseberg has clarified, you need to set the parameter on each standby.

    Since the mount point name is different on each standby (any reason why ?), the parameter values will have to be different for each standby.

    Thus, for the 2-standby environment :
    on standby a : db_file_name_convert = '/u01/oradata01','/x01/oradata01'
    on standby b : db_file_name_convert = '/u01/oradata01','/y01/oradata01'

    It doesn't have to be defined on the Primary. The reason why it is normally configured on the Primary is to allow Role Switchover. That happens when a Standby becomes the Primary and the Primary (p) in your case becomes a Standby. Since it is not clear which of the two Standbys (a or b) will become a Primary, we cannot define the db_file_name_convert on the current Primary (p).
    If, for example, we know that standby a will become a Primary in p will become a Standby, then :
    on primary p : db_file_name_convert = '/x01/oradata01','/u01/oradata01'

    In theory, it would be possible to cater for both possibilities of a or b becoming Primary by having :
    on primary p : db_file_name_convert = '/x01/oradata01/','/u01/oradata01','/y01/oradata01','/u01/oradata01'

    Thus, you can define /u01 as the conversion name for both /x01 and /y01


    Similarly, you can work out the values for the 3 standby configuration.

    Hemant K Chitale

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points