Validar preparación para DR

Revise las mejores prácticas para la preparación para la recuperación en casos de desastre y verifique su configuración de recuperación en casos de desastre para eventos planificados e imprevistos.

Acerca de DR Readiness

Revise las mejores prácticas para la preparación para la recuperación en casos de desastre.

Utilice Active Data Guard para descargar la carga de trabajo de sólo lectura en la base de datos en espera para proporcionar una validación continua a nivel de aplicación de que la base de datos en espera está lista para su producción. Esto proporciona un nivel de seguridad además de una validación continua a nivel de bloque de Oracle realizada por los procesos de aplicación de Oracle Data Guard.

Utilice una base de datos instantánea en espera para crear una réplica exacta de una base de datos de producción con fines de desarrollo y prueba. Coloque periódicamente la base de datos en espera en modo de lectura/escritura (mediante Data Guard Snapshot Standby) para validar su disposición a soportar cargas de trabajo de producción de escritura y lectura. También se puede utilizar una instantánea en espera para un nivel final de pruebas funcionales y de rendimiento de parches y actualizaciones, ya que el tamaño del sistema de DR es similar al sistema de producción. Una instantánea en espera continúa recibiendo redo de la base de datos primaria donde se archiva para su uso posterior, lo que proporciona protección de datos en todo momento. Sin embargo, el tiempo de recuperación (RTO) se ampliará por la cantidad de tiempo necesario para convertir la instantánea en espera a la base de datos en espera si se necesita un failover mientras se están realizando las pruebas. Se necesita almacenamiento adicional para el área de recuperación rápida cuando una base de datos en espera está en modo de instantánea (para mantener el redo archivado recibido de la base de datos de producción primaria para su uso posterior y los redo y logs de flashback actuales generados por la base de datos de instantánea en espera).

A continuación se muestran algunas de las ventajas de utilizar una base de datos en espera de instantáneas:

  • Proporciona una réplica exacta de una base de datos de producción para el desarrollo y las pruebas, manteniendo la protección de datos en todo momento. Puede utilizar la opción Oracle Real Application Testing para capturar la carga de trabajo de la base de datos primaria y, a continuación, reproducirla con fines de prueba en la instantánea en espera.
  • Se refresca fácilmente para contener datos de producción actuales mediante la conversión a una base de datos física en espera y la resincronización.

Convertir la Base de Datos en Espera en Instantánea en Espera

Cuando desea una réplica exacta de una base de datos de producción, puede utilizar Oracle Data Guard Broker para convertir la base de datos física en espera en una base de datos de instantánea en espera y validar el failover.

Una instantánea en espera es una base de datos en espera totalmente actualizable que se crea a partir de una base de datos en espera física. En las bases de datos de instantánea en espera, se reciben los datos redo, pero no se aplican hasta que la base de datos de instantánea en espera se vuelve a convertir en una base de datos en espera física.

A continuación se muestran un par de ventajas para utilizar una base de datos de instantánea en espera:

  • La instantánea en espera proporciona una réplica exacta de una base de datos de producción para fines de desarrollo y prueba, manteniendo la protección de datos en todo momento. Puede utilizar la opción Oracle Real Application Testing para capturar la carga de trabajo de la base de datos primaria y, a continuación, reproducirla con fines de prueba en la instantánea en espera.
  • Puede refrescar fácilmente la instantánea en espera para contener datos de producción actuales mediante la conversión en una base de datos física en espera y la resincronización.

La interfaz de línea de comandos de Oracle Data Guard (DGMGRL) permite gestionar una configuración de broker de Oracle Data Guard y sus diversos miembros directamente desde la interfaz de línea de comandos.

  1. Conéctese a una sesión DGMGRL en la instancia de base de datos en espera con el nombre de usuario y la contraseña sys.
    [oracle@exa11db01 ~]$ dgmgrl
    DGMRGL> connect
    Username: sys
    Password:
  2. Visualice la configuración para confirmar las bases de datos primarias y en espera.
    DGMGRL> show configuration;
    La salida se verá similar a la siguiente:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 108 seconds ago)
  3. Convierta la base de datos física en espera en una base de datos instantánea en espera.
    En este ejemplo, standby_database_unique_name es db1.
    DGMGRL> convert database standby_database_unique_name to snapshot standby;
    Una vez finalizada la conversión, la salida tendrá una línea similar a la siguiente:
    Converting database "db1" to a Snapshot Standby database, please wait...
    Database "db1" converted successfully
  4. Visualice la configuración para verificar la conversión.
    DGMGRL> show configuration;
    La salida se verá similar a la siguiente:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Snapshot standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 59 seconds ago)
  5. Convierta la instantánea en espera de nuevo en una base de datos física en espera.
    DGMGRL> convert database standby_database_unique_name to physical standby;
    La salida se verá similar a la siguiente:
    Converting database "db1" to a Physical Standby database, please wait...
    Operation requires a connection to database "db1_phx3g7"
    Connecting ...
    Connected to "DB1_phx3g7"
    Connected as SYSDBA.
    Oracle Clusterware is restarting database "db1" ...
    Connected to "db1"
    Connected to "db1"
    Continuing to convert database "db1" ...
    Database "db1" converted successfully
  6. Visualice la configuración para verificar la conversión.
    DGMGRL> show configuration;
    El resultado es similar al siguiente:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    ERROR   (status updated 20 seconds ago)
    DGMGRL>

Definir Parámetros de Oracle Data Guard

Antes de ejecutar un switchover, defina los parámetros de Oracle Data Guard en las instancias de base de datos primaria y en espera.

  1. En la base de datos primaria local, compruebe el número de cambio del sistema (SCN).
    select standby_became_primary_scn from v$database;
    El resultado es similar al siguiente:
    STANDBY_BECAME_PRIMARY_SCN
    --------------------------
    0
  2. Verifique que el flashback no está activado en la base de datos primaria.
    select flashback_on from v$database;
    El resultado es similar al siguiente:
    FLASHBACK_ON
    ------------------
    NO
  3. Muestra la recuperación del parámetro.
    SQL> show parameter recovery;
    El resultado es similar al siguiente:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest	     string	      +RECOC1
    db_recovery_file_dest_size	big integer	  8256M
    recovery_parallelism             integer             0
    remote_recovery_file_dest        string
  4. Defina el tamaño del parámetro DB_RECOVERY_FILE_DEST_SIZE para cumplir el tamaño de la base de datos.
    El siguiente ejemplo utiliza 20G como tamaño de datos de muestra. Defina el tamaño de los datos según la base de datos.
    SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20G;
  5. Active el flashback en la base de datos primaria.
    SQL> alter database flashback on;
  6. Confirme que el flashback de la base de datos está activado (on).
    SQL> select flashback_on from v$database;
    La salida se verá similar a la siguiente:
    FLASHBACK_ON
    ------------------
    YES
  7. En Oracle Database Exadata Cloud Service en espera, determine si el flashback está activado.
    SQL> select flashback_on from v$database;
    La salida se verá similar a la siguiente:
    FLASHBACK_ON
    ------------------
    NO
  8. Consulte el estado del modo abierto para la base de datos en espera en la nube.
    SQL> select open_mode from v$database;
    La salida se verá similar a la siguiente:
    OPEN_MODE
    -------------------- 
    MOUNTED
  9. Cancelar recuperación de base de datos para la base de datos en espera.
    SQL> alter database recover managed standby database cancel;
  10. Defina el flashback en la instancia de base de datos en la nube.
    SQL> alter database flashback on;
  11. Desconecte la base de datos en espera de la sesión.
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Database altered
  12. Confirme que el flashback de la base de datos está activado (on).
    SQL> select flashback_on from v$database;
    FLASHBACK_ON
    ------------------
    YES
  13. Mostrar los parámetros de retención.
    SQL> show parameter_retention;
    La salida se verá similar a la siguiente:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_flashback_retention_target	     integer	 1440
    undo_retention			      integer	 900