3 Replies Latest reply: Feb 7, 2013 11:33 PM by Hemant K Chitale RSS

    Doubt regarding 'db_file_name_convert' parameter value

      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
          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

          • 2. Re: Doubt regarding 'db_file_name_convert' parameter value
            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
              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