Finalizar la configuración

Configure Oracle Data Guard, registre la base de datos en espera y sincronice las contraseñas de la base de datos local y en espera.

Configurar Oracle Data Guard Broker

Configure Oracle Data Guard activando el parámetro dg_broker_config_file en las bases de datos primaria y en espera. Para Oracle Automatic Storage Management (Oracle ASM), coloque los archivos de configuración del broker en grupos de discos separados. Para Oracle Real Application Clusters (Oracle RAC), los archivos de configuración de broker deben estar en almacenamiento compartido.

  1. Compruebe el valor dg_broker_start del host de base de datos local. Se debe establecer en falso.
    SQL> show parameter dg_broker_start;
    La salida será similar a la siguiente:
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		FALSE 
  2. Compruebe los archivos Oracle Data Guard de la base de datos local.
    SQL> show parameter dg_broker_config_file1;
    SQL> show parameter dg_broker_config_file2;
  3. Si tiene Oracle RAC u Oracle ASM, puede cambiar la ubicación del archivo de configuración.
    SQL> alter system set dg_broker_config_file1=broker_config_file location; 
    SQL> alter system set dg_broker_config_file2=broker_config_file location;
  4. Inicie el proceso de Oracle Data Guard Broker en la base de datos primaria.
    SQL> alter system set dg_broker_start=true;
    SQL> show parameter dg_broker_start 
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		TRUE
    SQL> select pname from v$process where pname like 'DMON%';
    PNAME 
    ----- 
    DMON 
  5. Compruebe el valor dg_broker_start del host de la base de datos en espera. Se debe definir en false.
    SQL> show parameter dg_broker_start;
    La salida será similar a la siguiente:
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		FALSE 
  6. Compruebe los archivos Oracle Data Guard en la base de datos en espera.
    SQL> show parameter dg_broker_config_file1;
    SQL> show parameter dg_broker_config_file2;
  7. Si tiene Oracle RAC u Oracle ASM, puede cambiar la ubicación del archivo de configuración.
    SQL> alter system set dg_broker_config_file1=broker_config_file location; 
    SQL> alter system set dg_broker_config_file2=broker_config_file location;
  8. Inicie el proceso de Oracle Data Guard Broker en la base de datos en espera.
    SQL> alter system set dg_broker_start=true; 
    SQL> show parameter dg_broker_start
    NAME 			TYPE 			VALUE 
    ------------------------------------ ----------- ------------------------------ 
    dg_broker_start 	boolean 		TRUE
    SQL> select pname from v$process where pname like 'DMON%';
    PNAME 
    ----- 
    DMON 

Registrar la base de datos en espera

Utilice la interfaz de línea de comandos de Oracle Data Guard (DGMGRL) para registrar o agregar el perfil de base de datos en espera a la configuración del broker en el host principal local.

  1. Inicie sesión en el host principal como sys.
    $ dgmgrl sys/sys password@net service name for primary database
  2. Cree una configuración que utilice el nombre de la base de datos primaria.
    DGMGRL> CREATE CONFIGURATION configuration_name AS PRIMARY DATABASE IS primary database name CONNECT
              IDENTIFIER IS primary database name;
  3. Agregue la base de datos en espera.
    DGMGRL> ADD DATABASE standby unique database name AS CONNECT IDENTIFIER IS standby unique database name MAINTAINED AS PHYSICAL; 
  4. Active la configuración.
    DGMGRL> enable configuration;
  5. Mostrar la configuración.
    DGMGRL> show configuration;
    La salida será similar a la siguiente:
    Configuration - OnPremDr
     Protection Mode: MaxPerformance
     Members:
    ORCLCDB - Primary database
     Warning: ORA-16789: standby redo logs configured incorrectly
    orclcdb_iad1s3 - Physical standby database
    Error: ORA-16810: multiple errors or warnings detected for the member
     Fast-Start Failover: Disabled
     Configuration Status:
     ERROR (status updated 10 seconds ago)

Copiar los archivos Redo Log de los Archivos On-Premises en OCI

Copie los archivos log redo y otros archivos de base de datos de la base de datos local en la instancia de Oracle Cloud Infrastructure (OCI).

  1. Consulta de los archivos de base de datos locales.
    select name from v$datafile;
    La salida será similar a la siguiente:
    NAME
    --------------------------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/system01.dbf
    /opt/oracle/oradata/ORCLCDB/sysaux01.dbf
    /opt/oracle/oradata/ORCLCDB/undotbs01.dbf
    /opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf
    /opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf
    /opt/oracle/oradata/ORCLCDB/users01.dbf
    /opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf
  2. Ver el tamaño de cada grupo para los archivos de datos locales.
    select bytes, group# from v$log;
    La salida será similar a la siguiente:
    BYTES     GROUP#
    ---------- ----------
     209715200	    1
     209715200	    2
     209715200	    3
  3. Consulte los logs redo para los archivos de datos locales.
    select member from v$logfile;
    La salida será similar a la siguiente:
    MEMBER
    ---------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/redo03.log
    /opt/oracle/oradata/ORCLCDB/redo02.log
    /opt/oracle/oradata/ORCLCDB/redo01.log
  4. Agregue un grupo de archivos log en espera para cada log redo.
    Por ejemplo, si tiene tres archivos log redo, agregue tres grupos de archivos log en espera.
    SQL> alter database add standby logfile group 4('/opt/oracle/oradata/ORCLCDB/redo_sb04.log') size 209715200;
    Database altered.
    
    SQL> alter database add standby logfile group 5('/opt/oracle/oradata/ORCLCDB/redo_sb05.log') size 209715200;
    Database altered.
    
    SQL> alter database add standby logfile group 6('/opt/oracle/oradata/ORCLCDB/redo_sb06.log') size 209715200;
    Database altered.
  5. Ver el número de grupo y los miembros del archivo log.
    SQL> select group#,member from v$logfile;
    La salida será similar a la siguiente:
    GROUP#          MEMBER
    --------------------------------------------------------------------
    	 3
    /opt/oracle/oradata/ORCLCDB/redo03.log
    
    	 2
    /opt/oracle/oradata/ORCLCDB/redo02.log
    
    	 1
    /opt/oracle/oradata/ORCLCDB/redo01.log
    
    	 4
    /opt/oracle/oradata/ORCLCDB/redo_sb04.log
    
    	 5
    /opt/oracle/oradata/ORCLCDB/redo_sb05.log
    
    	 6
    /opt/oracle/oradata/ORCLCDB/redo_sb06.log
    
    6 rows selected.
  6. Visualice la configuración en Oracle Data Guard.
    DGMGRL> show configuration
    La salida será similar a la siguiente:
    Configuration - OnPremDr
    Protection Mode: MaxPerformance
      Members:
      ORCLCDB        - Primary database
        orclcdb_iad1s3 - Physical standby database 
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 60 seconds ago)
  7. Visualice los redo logs en la instancia de base de datos OCI en espera.
    select member from v$logfile;
    La salida será similar a la siguiente:
    MEMBER
    ---------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/redo03.log
    /opt/oracle/oradata/ORCLCDB/redo02.log
    /opt/oracle/oradata/ORCLCDB/redo01.log
  8. Conéctese a una sesión de interfaz de línea de comandos (DGMGRL) de Oracle Data Guard en la instancia de base de datos OCI en espera con el nombre de usuario y la contraseña sys.
    [oracle@droci admin]$ dgmgrl 
    DGMGRL> connect
    Username: sys
    Password:
    La salida será similar a la siguiente:
    .
    .
    .
    Welcome to DGMGRL, type "help" for information.
    Connected to "ORCLCDB_iad1s3"
    Connected as SYSDBA.
  9. Ver la configuración en la base de datos en espera en OCI.
    DGMGRL> show configuration;
    La salida será similar a la siguiente:
    Configuration - OnPremDr
    
      Protection Mode: MaxPerformance
      Members:
      ORCLCDB        - Primary database
        orclcdb_iad1s3 - Physical standby database 
          Warning: ORA-16809: multiple warnings detected for the member
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    WARNING  (status updated 50 seconds ago)
  10. Edite la instancia de base de datos en espera en OCI y defina el estado en apply-off y, a continuación, salga de la interfaz de línea de comandos.
    DGMGRL> edit database orclcdb_iad1s3 set state=apply-off;
    Succeeded.
    DGMGRL> exit
  11. Inicie sesión en la instancia de base de datos en espera en OCI.
    [oracle@droci admin]$ sqlplus / as sysdba
  12. Ver el número de grupo y los miembros del archivo log.
    SQL> select group#,member from v$logfile;
    La salida será similar a la siguiente:
        GROUP#   MEMBER
    --------------------------------------------------------------------
    	 3
    /opt/oracle/oradata/ORCLCDB/redo03.log
    
    	 2
    /opt/oracle/oradata/ORCLCDB/redo02.log
    
    	 1
              /opt/oracle/oradata/ORCLCDB/redo01.log
  13. Ver el tamaño de cada grupo.
    select bytes, group# from v$log;
    La salida será similar a la siguiente:
    BYTES     GROUP#
    ---------- ----------
     209715200	    1
     209715200	    3
     209715200	    2
    
  14. Agregue los grupos de archivos log en espera a la base de datos de OCI.
    SQL> alter database add standby logfile group 4('/opt/oracle/oradata/ORCLCDB/redo_sb04.log') size 209715200;
    Database altered.
    
    SQL> alter database add standby logfile group 5('/opt/oracle/oradata/ORCLCDB/redo_sb05.log') size 209715200;
    Database altered.
    
    SQL> alter database add standby logfile group 6('/opt/oracle/oradata/ORCLCDB/redo_sb06.log') size 209715200;
    Database altered.
  15. Ver el número de grupo y los miembros del archivo log.
    SQL> select group#,member from v$logfile;
    La salida será similar a la siguiente:
    GROUP#          MEMBER
    --------------------------------------------------------------------
    	 3
    /opt/oracle/oradata/ORCLCDB/redo03.log
    
    	 2
    /opt/oracle/oradata/ORCLCDB/redo02.log
    
    	 1
    /opt/oracle/oradata/ORCLCDB/redo01.log
    
    	 4
    /opt/oracle/oradata/ORCLCDB/redo_sb04.log
    
    	 5
    /opt/oracle/oradata/ORCLCDB/redo_sb05.log
    
    	 6
    /opt/oracle/oradata/ORCLCDB/redo_sb06.log
    
    6 rows selected.
  16. Conéctese a una sesión de interfaz de línea de comandos (DGMGRL) de Oracle Data Guard en la instancia de base de datos OCI en espera con el nombre de usuario y la contraseña sys.
    [oracle@droci admin]$ dgmgrl 
    DGMGRL> connect
    Username: sys
    Password:
    .
    .
    .
    Welcome to DGMGRL, type "help" for information.
    Connected to "ORCLCDB_iad1s3"
    Connected as SYSDBA.
  17. Edite la instancia de base de datos en espera en OCI y defina el estado en apply-on.
    DGMGRL> edit database orclcdb_iad1s3 set state=apply-on;
  18. Edite la instancia de base de datos en espera en OCI y defina el estado de transporte en transport-on y, a continuación, salga de la interfaz de línea de comandos.
    DGMGRL> edit database orclcdb_iad1s3 set state=transport-on;
    
    Succeeded.
    DGMGRL> exit
  19. Visualice los archivos log en espera en la base de datos en espera en OCI.
    SQL> select * from v$logfile where type='STANDBY';
    La salida será similar a la siguiente:
    GROUP# STATUS  TYPE
    ---------- ------- -------
    MEMBER
    --------------------------------------------------------------------
    IS_	CON_ID
    --- ----------
    	 4	   STANDBY
    /opt/oracle/oradata/ORCLCDB/redo_sb04.log
    NO	     0
    
    	 5	   STANDBY
    /opt/oracle/oradata/ORCLCDB/redo_sb05.log
    NO	     0
    
    	 6	   STANDBY
    /opt/oracle/oradata/ORCLCDB/redo_sb06.log
    NO	     0
  20. Visualice los archivos redo log en la base de datos en espera en OCI.
    SQL> select member from v$logfile where type != 'STANDBY';
    La salida será similar a la siguiente:
    MEMBER
    --------------------------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/redo03.log
    /opt/oracle/oradata/ORCLCDB/redo02.log
    /opt/oracle/oradata/ORCLCDB/redo01.log
  21. Recuperar la base de datos gestionada en espera.
    SQL> recover managed standby database cancel;
    La salida será similar a la siguiente:
    Media recovery complete
  22. Visualice los archivos con el parámetro convert.
    SQL> show parameter convert;
    La salida será similar a la siguiente:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_file_name_convert		     string
    log_file_name_convert		     string
    pdb_file_name_convert		     string
  23. Ver los archivos de la base de datos.
    select name from v$datafile;
    La salida será similar a la siguiente:
    NAME
    --------------------------------------------------------------------
    /opt/oracle/oradata/ORCLCDB/system01.dbf
    /opt/oracle/oradata/ORCLCDB/sysaux01.dbf
    /opt/oracle/oradata/ORCLCDB/undotbs01.dbf
    /opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf
    /opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf
    /opt/oracle/oradata/ORCLCDB/users01.dbf
    /opt/oracle/oradata/ORCLCDB/pdbseed/undotbs01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf
    /opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf
  24. Consulta del número de cambio del sistema de base de datos (SCN).
    SQL> select current_scn from v$database;
    La salida será similar a la siguiente:
    CURRENT_SCN
    -----------
        2906060
  25. Consulta de los detalles del archivo Oracle Data Guard.
    SQL> SELECT ROLE, THREAD#, SEQUENCE#, ACTION FROM V$DATAGUARD_PROCESS;
    La salida será similar a la siguiente:
    ROLE	    THREAD#     SEQUENCE#  ACTION
    ------------------------ ---------- ---------- ------------
    RFS archive			  0	     0 IDLE
    RFS archive			  0	     0 IDLE
    RFS async		           1	    18 RECEIVING
    RFS ping		            1           18 IDLE
    broker monitor		      0	     0 IDLE
    broker instance slave	      0	     0 IDLE
    archive redo			 0	     0 IDLE
    archive local			0	     0 IDLE
    redo transport timer		0	     0 IDLE
    gap manager			  0	     0 IDLE
    log writer			   0	     0 IDLE
    broker net slave		    0	     0 IDLE
    broker worker			0	     0 IDLE
    archive redo			 0	     0 IDLE
    archive redo			 0	     0 IDLE
    redo transport monitor	     0	     0 IDLE
    
    16 rows selected.
  26. Desactive la recuperación de la base de datos en espera gestionada mediante el archivo log.
    SQL> recover managed standby database using current logfile disconnect;
    Media recovery complete.
  27. Consulta del número de cambio del sistema de base de datos (SCN).
    SQL> select current_scn from v$database;
    La salida será similar a la siguiente:
    CURRENT_SCN
    -----------
        2906060
  28. Mostrar los archivos con el parámetro de destino.
    SQL>show parameter dest;
    La salida será similar a la siguiente:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- -------------------
    cursor_bind_capture_destination      string	 memory+disk
    db_create_online_log_dest_1	     string	 /u03/app/oracle/redo/
    db_create_online_log_dest_2	     string
    db_create_online_log_dest_3	     string
    db_create_online_log_dest_4	     string
    db_create_online_log_dest_5	     string
    db_recovery_file_dest_size	     big integer 238G
    log_archive_dest_1		     string
    log_archive_dest_10		     string
    log_archive_dest_11		     string
    log_archive_dest_12		     string
  29. Mostrar los comentarios de la recuperación.
    SQL> select comments from v$recovery_progress;
    La salida será similar a la siguiente:
    COMMENTS
    --------------------------------------------------------------------
    RCVID: 4165711446800375620
    SCN: 2907015
    
    COMMENTS
    --------------------------------------------------------------------
    RCVID: 12395680609799335065
    SCN: 2906061
  30. Consulta de la fecha de recuperación.
    SQL> select START_TIME,comments from v$recovery_progress order by 1;
    La salida será similar a la siguiente:
    START_TIM
    ---------
    COMMENTS
    --------------------------------------------------------------------
    03-SEP-20
    03-SEP-20
    03-SEP-20
    RCVID: 2657984638848411078
    
    
    START_TIM
    ---------
    COMMENTS
    --------------------------------------------------------------------------------
    03-SEP-20