8 Replies Latest reply: Dec 3, 2012 1:43 AM by 914302 RSS

    Duplicate active database to create standby

    914302
      Dear

      I configured primary and standby database in two different servers.

      I ran duplicate Rman script below, as well as I have diff Oracle_home and Oracle_base directory structure.

      run
      {
      allocate channel prim1 type disk;
      allocate channel prim2 type disk;
      allocate channel prim3 type disk;
      allocate channel prim4 type disk;
      allocate channel prim5 type disk;
      allocate auxiliary channel stdby type disk;
      duplicate target database for standby from active database
      spfile
      parameter_value_convert 'prim','stdby'
      set
      db_file_name_convert='/u01/oracle/oradata/prim/','/home/app/oradata/stdby/'
      set
      log_file_name_convert='/u01/oracle/oradata/prim/','/home/app/oradata/stdby/'
      set
      control_files='/home/app/oradata/control01.ctl','/home/app/flash_recovery_area/stdby/control02.ctl'
      set db_unique_name='stdby'
      set log_archive_max_processes='5'
      set fal_client='stdby'
      set fal_server='prim'
      set standby_file_management='AUTO'
      set log_archive_config='dg_config=(prim,stdby)'
      set log_archive_dest_2='service=prim ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=prim'
      ;
      }

      Once run I got error message

      RMAN-00571: ===========================================================
      RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
      RMAN-00571: ===========================================================
      RMAN-03002: failure of Duplicate Db command at 12/01/2012 13:46:21
      RMAN-05501: aborting duplication of target database
      RMAN-03015: error occurred in stored script Memory Script
      RMAN-04014: startup failed: ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
      ORA-48140: the specified ADR Base directory does not exist [u01/oracle]
      ORA-48187: specified directory does not exist
      Linux-x86_64 Error: 2: No such file or directory
      Additional information: 1

      RMAN> **end-of-file**

      Primary :

      LISTENER_ prim =
      (DESCRIPTION_LIST =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.112)(PORT = 1521))
      SID_LIST_LISTENER =
      (SID_LIST =
      (SID_DESC =
      (GLOBAL_DBNAME = prim)
      (ORACLE_HOME = /u01/oracle/product/11.2.0.2/dbhome)
      (SID_NAME = prim)
      )
      )

      ADR_BASE_LISTENER = /u01/oracle

      standby

      SID_LIST_LISTENER =
      (SID_LIST =
      (SID_DESC =
      (GLOBAL_DBNAME = stdby)
      (ORACLE_HOME = /home/app/dbhome)
      (SID_NAME = stdby)
      )
      )

      LISTENER =
      (DESCRIPTION_LIST =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.110 )(PORT = 1521))
      )
      )

      ADR_BASE_LISTENER_prim = /home/app

      Kindly helped me, I am creating first time standby database.

      Thanks.
        • 1. Re: Duplicate active database to create standby
          P.Forstmann
          RMAN-04014: startup failed: ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
          ORA-48140: the specified ADR Base directory does not exist [u01/oracle]
          ORA-48187: specified directory does not exist
          Try to define DIAGNOSTIC_DEST init. parameter in RMAN statement that define init. parameter for standby database:
          ...
          set diagnostic_dest = '<directory on node hosting standby database>'
          ...
          or make sure $ORACLE_BASE is a valid directory on node hosting standby database.
          • 2. Re: Duplicate active database to create standby
            mseberg
            Hello;

            I have an example here :

            http://www.visi.com/~mseberg/rman/diff_database_duplicating.html

            Check out the parameters I use and don't include "DIAGNOSTIC_DEST" ( If your env is missing settings you need to set this )

            Init.ora Parameter "DIAGNOSTIC_DEST" Reference Note [ID 567098.1]

            DIAGNOSTIC_DEST has a default value derived from the value of ORACLE_BASE.

            Use this command :
            duplicate target database for standby from active database NOFILENAMECHECK;
            I have notes here too, but for the same directory structure

            http://www.visi.com/~mseberg/standby_creation_from_active_database_using_rman.html

            Best Regards

            mseberg
            • 3. Re: Duplicate active database to create standby
              Shivananda Rao
              Hello,

              The error lies in here:
              ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
              ORA-48140: the specified ADR Base directory does not exist [/u01/oracle]
              ORA-48187: specified directory does not exist
              Linux-x86_64 Error: 2: No such file or directory
              The parameter "diagnostic_dest" in the pfile/spfile of the standby database is pointing to a wrong location "/u01/oracle" which does not exist on the standby server.
              Set the parameter "diagnostic_dest" in the standby pfile/spfile with the correct value that is defined for ORACLE_BASE on the standby server.
              • 4. Re: Duplicate active database to create standby
                914302
                Dear All

                Thanks for all,

                I changed diagnostic_dest in both standby spfile and pfile .But the error still exits .

                I have different Oracle_base in primary and standby.

                Prim :- [oracle@prim]$ echo $ORACLE_BASE
                /u01/oracle/
                Standby :- [oracle@stdby]$ echo $ORACLE_BASE
                /home/app
                Do I need to add any convert parameter in my rman script.

                I really thankful if you guys guide me.
                • 5. Re: Duplicate active database to create standby
                  Shivananda Rao
                  Hello,

                  Can you please post your standby pfile contents ?

                  Try adding this in the duplicate script you are using:
                  set diagnostic_dest='/home/app'
                  Refer this
                  http://shivanandarao.wordpress.com/2012/03/10/creating-physical-standby-database-on-oracle-11g/
                  http://gavinsoorma.com/2009/12/11g-standby-database-creation-without-any-rman-backups/ on creating standby database

                  Regards,
                  Shivananda
                  • 6. Re: Duplicate active database to create standby
                    mseberg
                    Hello again;

                    There's a MOS document with your exact error including the Linux-x86_64 Error :

                    ORA-48140 signaled when creating an 11g standby database with grid control agent is 10.2.0.5 [ID 834865.1]

                    Best Regards

                    mseberg
                    • 7. Re: Duplicate active database to create standby
                      914302
                      Dear all

                      Problem resolved by setting diagnostic_dest parameter in the rman script and change location in init.ora file.

                      Now its working fine.

                      Thanks for cooperation.
                      • 8. Re: Duplicate active database to create standby
                        Shivananda Rao
                        Hello,

                        Please consider closing the thread by marking it as answered and providing appropriate points.

                        Regards,
                        Shivananda