Procedure :
1. BASIC SETUP AND SETTINGS 
 a. Primary Host
  
  a.1. db_name = ABC
  a.2. db_unique_name = ABCDC
 b. Standby Host
  b.1. db_name = ABC
  b.2. db_uniquie_name = ABCDR
2.  SETUP ON PRIMARY 
 a. Oracle Initialization Parameters to be added  in initABC.ora
  *.db_unique_name='ABCDC' 
  *.dg_broker_start=TRUE
  *.log_archive_dest_1='LOCATION=" /oracle/ABC/oraarch/ABCarch", valid_for=(ONLINE_LOGFILE,ALL_ROLES)'
  *.log_archive_dest_state_1='ENABLE' 
  *.log_archive_format='%t_%s_%r.dbf' 
  *.log_archive_max_processes=2 
  *.log_archive_min_succeed_dest=1 
  *.log_archive_trace=0 
  *.log_file_name_convert='ABC','ABC' 
  *.standby_file_management='AUTO
                *.fal_client='abc_primary.world'
                *.fal_server=' '
                *.log_archive_dest_2='service="abc_standby.world"','ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 db_unique_name="abcdr" net_timeout=30','valid_for=(online_logfile,all_roles)'
                *.log_archive_config='dg_config=(ABCDC,ABCDR)'
 b. Configuration
  b.1. Listener Setting
   ADMIN_RESTRICTIONS_LISTENER = on
   LISTENER =
  
    (ADDRESS_LIST =
        
   (ADDRESS =
          
   (PROTOCOL = IPC)
          
   (KEY = ABC.WORLD)
        
  )
   
          (ADDRESS=
          
   (PROTOCOL = IPC)
          
   (KEY = ABC)
        
  )
        
  (ADDRESS =
          
   (COMMUNITY = SAP.WORLD)
          
   (PROTOCOL = TCP)
          
   (HOST = hostname)
          
   (PORT = 1521)
        
  )
  
   )
   STARTUP_WAIT_TIME_LISTENER = 0
   CONNECT_TIMEOUT_LISTENER = 10
   TRACE_LEVEL_LISTENER = OFF
   SID_LIST_LISTENER =
  
   (SID_LIST =
    
    (SID_DESC =
      
    (SID_NAME = ABC)
      
    (ORACLE_HOME = /oracle/ABC/122)
    
   )
  
    (SID_DESC =
        
   (SID_NAME = ABC)
        
   (GLOBAL_DBNAME=ABC_DGMGRL)
        
   (ORACLE_HOME = /oracle/ABC/122)
    
   )
  
   )
   ADR_BASE_LISTENER = /oracle/ABC/saptrace
 c. Tnsnames Settings
   ABC_STANDBY.WORLD=
  
   (DESCRIPTION =
    
    (ADDRESS_LIST =
        
    (ADDRESS =
          
    (COMMUNITY = SAP.WORLD)
          
    (PROTOCOL = TCP)
          
    (HOST = DR_hostname)
          
    (PORT = 1521)
        
   )
    
   )
    
   (CONNECT_DATA =
       
    (INSTANCE_NAME = ABC)
       
    (UR=A)
       
    (SERVICE_NAME = ABC.WORLD)
    
    )
  
   )
   ABC_PRIMARY.WORLD=
  
   (DESCRIPTION =
    
    (ADDRESS_LIST =
        
    (ADDRESS =
          
    (COMMUNITY = SAP.WORLD)
          
    (PROTOCOL = TCP)
          
    (HOST = DC_hostname)
          
    (PORT = 1521)
        
   )
    
   )
    
   (CONNECT_DATA =
       
    (INSTANCE_NAME = ABC)
       
    (UR=A)
       
    (SERVICE_NAME = ABC.WORLD)
    
    )
  
   )
 d. Sqlnet Settings
  AUTOMATIC_IPC = ON
  TRACE_LEVEL_CLIENT = OFF
  NAMES.DEFAULT_DOMAIN = WORLD
  # 05.01.06 unsorported parameter now
  #NAME.DEFAULT_ZONE = WORLD
  # 05.01.06 set the default to 10
  SQLNET.EXPIRE_TIME = 10
  # 05.01.06 set to default
  #TCP.NODELAY=YES
  # 05.01.06 set to 32768
  DEFAULT_SDU_SIZE=32768
  NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
3. SETUP ON STANDBY 
 a. Oracle Initialization Parameters to be added in initABC.ora
  *.db_unique_name='ABCDR' 
  *.dg_broker_start=TRUE
  *.log_archive_dest_1='LOCATION=" /oracle/ABC/oraarch/ABCarch", valid_for=(ONLINE_LOGFILE,ALL_ROLES)'
  *.log_archive_dest_state_1='ENABLE' 
  *.log_archive_format='%t_%s_%r.dbf' 
  *.log_archive_max_processes=2 
  *.log_archive_min_succeed_dest=1 
  *.log_archive_trace=0 
  *.log_file_name_convert='ABC','ABC' 
  *.standby_file_management='AUTO
                *.log_archive_dest_2='location=/oracle/ABC/oraarch/ABCarch','valid_for=(STANDBY_LOGFILE,STANDBY_ROLE)'
                *.fal_client='ABC_STANDBY.WORLD'
                *.fal_server='abc_primary.world'
                *.log_archive_config='dg_config=(ABCDR,ABCDC)'
 b. Configuration
  b.1. Listener Setting
   ADMIN_RESTRICTIONS_LISTENER = on
   LISTENER =
  
    (ADDRESS_LIST =
        
   (ADDRESS =
          
   (PROTOCOL = IPC)
          
   (KEY = ABC.WORLD)
        
  )
   
          (ADDRESS=
          
   (PROTOCOL = IPC)
          
   (KEY = ABC)
        
  )
        
  (ADDRESS =
          
   (COMMUNITY = SAP.WORLD)
          
   (PROTOCOL = TCP)
          
   (HOST = hostname)
          
   (PORT = 1521)
        
  )
  
   )
   STARTUP_WAIT_TIME_LISTENER = 0
   CONNECT_TIMEOUT_LISTENER = 10
   TRACE_LEVEL_LISTENER = OFF
   SID_LIST_LISTENER =
  
   (SID_LIST =
    
    (SID_DESC =
      
    (SID_NAME = ABC)
      
    (ORACLE_HOME = /oracle/ABC/122)
    
   )
  
    (SID_DESC =
        
   (SID_NAME = ABC)
        
   (GLOBAL_DBNAME=ABC_DGMGRL)
        
   (ORACLE_HOME = /oracle/ABC/122)
    
   )
  
   )
   ADR_BASE_LISTENER = /oracle/ABC/saptrace
 c. Tnsnames Settings
   ABC.WORLD=
  
   (DESCRIPTION =
    
    (ADDRESS_LIST =
        
    (ADDRESS =
          
    (COMMUNITY = SAP.WORLD)
          
    (PROTOCOL = TCP)
          
    (HOST = hostname)
          
    (PORT = 1521)
        
   )
    
   )
    
    (CONNECT_DATA =
       
     (SID = ABC)
       
     (GLOBAL_NAME = ABC.WORLD)
    
    )
  
   )
   ABC_STANDBY.WORLD=
  
   (DESCRIPTION =
    
    (ADDRESS_LIST =
        
    (ADDRESS =
          
    (COMMUNITY = SAP.WORLD)
          
    (PROTOCOL = TCP)
          
    (HOST = hostname)
          
    (PORT = 1521)
        
   )
    
   )
    
   (CONNECT_DATA =
       
    (INSTANCE_NAME = ABC)
       
    (UR=A)
       
    (SERVICE_NAME = ABC.WORLD)
    
    )
  
   )
   ABC_PRIMARY.WORLD=
  
   (DESCRIPTION =
    
    (ADDRESS_LIST =
        
    (ADDRESS =
          
    (COMMUNITY = SAP.WORLD)
          
    (PROTOCOL = TCP)
          
    (HOST = 10.101.1.196)
          
    (PORT = 1521)
        
   )
    
   )
    
   (CONNECT_DATA =
       
    (INSTANCE_NAME = ABC)
       
    (UR=A)
       
    (SERVICE_NAME = ABC.WORLD)
    
    )
  
   )
 d. Sqlnet Settings
  AUTOMATIC_IPC = ON
  TRACE_LEVEL_CLIENT = OFF
  NAMES.DEFAULT_DOMAIN = WORLD
  # 05.01.06 unsorported parameter now
  #NAME.DEFAULT_ZONE = WORLD
  # 05.01.06 set the default to 10
  SQLNET.EXPIRE_TIME = 10
  # 05.01.06 set to default
  #TCP.NODELAY=YES
  # 05.01.06 set to 32768
  DEFAULT_SDU_SIZE=32768
  NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
4. COPY PRIMARY DATABASE TO STANDBY SITE
 a. Primary Site
  a.1. Begin Backup
    SQL> alter database begin backup;
  a.2. Copy Data Files and Redolog Files
    scp -r /oracle/ABC/sapdata* oracle@pgpodrprd:/oracle/ABC/
 
    scp -r /oracle/ABC/mirrlogA/log* oracle@drprd:/oracle/ABC/mirrlogA
    scp -r /oracle/ABC/origlogA/log* oracle@drprd:/oracle/ABC/origlogA
                                scp -r /oracle/ABC/mirrlogB/log* oracle@drprd:/oracle/ABC/mirrlogB
    scp -r /oracle/ABC/origlogB/log* oracle@drprd:/oracle/ABC/origlogB
    
  a.3. End Backup
    SQL> alter database end backup;
  Note : Before copying the data from Primary Site to Secondary Site , Shutdown the application                      and database of  Standby Site and clear all the content of /oracle/ABC/sapdata*,                                    /oracle/ABC/mirrlog* , /oracle/ABC/origlog*
  a.4  Shutdown the database
    SQL>shutdown immediate;
  
  a.5. Create backup Control File.
    SQL> create spfile from pfile;
    SQL> startup mount;
    SQL> alter database create standby controlfile as '/oracle/ABC/stdby_control.dbf' reuse;
  
  a.6. Copy Standby Control File to Standby Host
    scp -r /oracle/ABC/stdby_control.dbf oracle@pgpodrprd:/oracle/ABC/ 
  
  a.7. Distributing the Password file to Standby
    scp $ORACLE_HOME/dbs/orapwABC oracle@pgpodrprd:$ORACLE_HOME/dbs/orapwABC
  
  a.8. Creating Standby Redolog Files
    mkdir /oracle/ABC/standbylog
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl1.dbf' size 209715200 reuse; 
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl2.dbf' size 209715200 reuse; 
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl3.dbf' size 209715200 reuse;
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl4.dbf' size 209715200 reuse;
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl5.dbf' size 209715200 reuse;
  
                 a.9. Opening Primary Database
    SQL> alter database open;
 b. Standby Site
  b.1. Distributing Standby Control File
    cd /oracle/ABC
    cp stdby_controlf.dbf /oracle/ABC/origlogA/cntrl/cntrlABC.dbf
    cp stdby_controlf.dbf /oracle/ABC/origlogB/cntrl/cntrlABC.dbf 
    cp stdby_controlf.dbf /oracle/ABC/sapdata1/cntrl/cntrlABC.dbf
  b.2. Mounting the Database
    SQL> create spfile from pfile;
    SQL> startup mount;
  b.3. Creating Standby Redolog Files
    mkdir /oracle/ABC/standbylog
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl1.dbf' size 209715200 reuse; 
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl2.dbf' size 209715200 reuse; 
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl3.dbf' size 209715200 reuse;
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl4.dbf' size 209715200 reuse;
    SQL> alter database add standby logfile '/oracle/ABC/standbylog/srl5.dbf' size 209715200 reuse;
 
  b.4. Mounting Standby Database
    SQL> startup mount;
5. Configurating DataGaurd
 a. Primary Site
  a.1. Creating the Configuration on Primary
    pgpABCrddc1:oracle 51> dgmgrl
    DGMGRL> connect sys
    DGMGRL> create configuration ABC as primary database is ABCDC connect identifier is ABC_PRIMARY.WORLD;
 
  a.2. Adding the physical Standby Database
    DGMGRL> add database ABCDR as connect identifier is ABC_STANDBY.WORLD;
    DGMGRL> show configuration
  a.3. Overview od DataGuard Properties
    DGMGRL> show database ABCDC
    DGMGRL> show database verbose ABCDC
    DGMGRL> show database ABCDR
    DGMGRL> show database verbose ABCDR
  a.4. Enable configuration
    DGMGRL> enable configuration;
  
 Note: Check Alert.log for both primary and secondary Site for any error.
6. TESTING THE SWITCHOVER 
 a.  Primary Site to Secondary Site
    DGMGRL> switchover to ABCDR;
 
 b.  Secondary Site to Primary Site
    DGMGRL> switchover to ABCDC;