Tarea 2: Configuración del entorno de Oracle GoldenGate

Realice los pasos siguientes para completar esta tarea:

Paso 2.1: Acceder al despliegue

Para acceder al despliegue:

Paso 2.2: Crear credenciales de base de datos

Utilice la interfaz de usuario de Oracle GoldenGate Microservices para crear las credenciales de la base de datos mediante los nombres de alias TNS anteriores. Como usuario oggadmin, agregue las credenciales de la base de datos:

  1. Conéctese al servicio de administración de Oracle GoldenGate: https://localhost:<localPort>/services/<deployment_name>/adminsrvr/v2/content/.

  2. En el menú de navegación de la izquierda, seleccione Conexiones de base de datos.

  3. En la página Conexiones de Base de Datos, seleccione Agregar Conexión de Base de Datos (icono más).

  4. Agregue la información necesaria para cada CDB y PDB de origen y destino:

    Región Contenedor Dominio Alias ID de usuario
    Región 1 CDB GoldenGate Reg1_CDB n.º de c#ggadmin@
    Región 1 PDB GoldenGate Reg1_PDB ggadmin@
    Región 2 CDB GoldenGate Reg2_CDB n.º de c#ggadmin@
    Región 2 PDB GoldenGate Reg2_PDB ggadmin@

Paso 2.3: Crear perfiles de inicio automático

Cree un perfil que inicie automáticamente los procesos Extract y Replicat cuando se inicie el servidor de administración de Oracle GoldenGate y se reinicie si se abandonan los procesos Extract o Replicat. En GoldenGate Microservicios, los perfiles gestionan el inicio y el reinicio automáticos.

Mediante la interfaz de usuario del servidor de administración de Oracle GoldenGate, cree un perfil para asignar a cada proceso de Oracle GoldenGate:

  1. Conéctese a GoldenGate WebUI para el despliegue GoldenGate de origen.

  2. En el menú de navegación, seleccione Managed Process Profiles.

  3. Seleccione Agregar Perfil en la página Configuración de Proceso Gestionado.

  4. Introduzca los detalles de la siguiente manera:

    • Nombre de perfil: Start_Default

    • Descripción: Perfil predeterminado de inicio/reinicio automático

    • Perfil predeterminado: Sí

    • Inicio automático: Sí

    • Opciones de inicio automático

      • Retraso de inicio: 1 min

      • Reinicio automático: Sí

    • Opciones de reinicio automático

      • Máximo de Reintentos: 5

      • Retraso de reintento: 30 s

      • Ventana de reintentos: 30 min

      • Reiniciar sólo si hay fallos: Sí

      • Desactivar tarea tras agotar reintentos: Sí

  5. Seleccione Enviar

  6. Repita estos pasos en el despliegue GoldenGate de destino.

Paso 2.4: Configurar los procesos de Oracle GoldenGate

Al crear procesos de Extract, Distribution Paths y Replicat con la arquitectura de microservicios de Oracle GoldenGate, todos los archivos que se deben compartir entre los nodos GGHub ya se comparten con los archivos de despliegue almacenados en un sistema de archivos compartido.

A continuación, se muestran los detalles de configuración esenciales recomendados para ejecutar Oracle GoldenGate Microservices en GGhub para procesos de extracción, rutas de distribución y Replicat.

Realice los siguientes subpasos para completar este paso:

Paso 2.5.1: Extraer configuración

Al crear un Extract mediante la interfaz del servicio de administración de Oracle GoldenGate, deje el parámetro del subdirectorio de pista en blanco para que los archivos de pista se creen automáticamente en los directorios de despliegue almacenados en el sistema de archivos compartido. La ubicación por defecto para los archivos de pista es el directorio /<deployment directory>/var/lib/data.

Nota: Para capturar desde una base de datos multiinquilino, debe utilizar un Extract configurado en el nivel raíz mediante una cuenta c##. Para aplicar datos a una base de datos multi-inquilino, se necesita un Replicat independiente para cada PDB porque un Replicat se conecta a nivel de PDB y no tiene acceso a objetos fuera de esa PDB.

Para los procesos de extracción GoldenGate que utilizan configuraciones de Data Guard que utilizan los modos Máximo rendimiento o Máxima disponibilidad del transporte de redo, se debe agregar el siguiente parámetro al archivo de parámetros del proceso de extracción en el sistema principal para evitar la pérdida de transacciones y dar lugar a inconsistencias de datos lógicos:

TRANLOGOPTIONS HANDLEDLFAILOVER

Este parámetro impide que Extract extraiga datos de transacciones de redo que aún no se han aplicado a la base de datos en espera de Data Guard. Esto es crucial para evitar que Oracle GoldenGate replique datos en una base de datos destino que no existe en la base de datos en espera de origen.

Si no se especifica este parámetro, después de un failover de pérdida de datos de la base de datos de origen, es posible tener datos en la base de datos de destino que no estén presentes en la base de datos de origen, lo que genera inconsistencias de datos lógicos.

Por defecto, después de 60 segundos, se escribirá un mensaje de advertencia en el archivo de informe Extract cuando el Extract se detenga debido a que no se puede consultar la información de SCN aplicada a la base de datos en espera. Por ejemplo:

WARNING OGG-02721  Extract has been waiting for the standby database for 60 seconds.

El tiempo antes de que el mensaje de advertencia se escriba en el archivo de informe Extract se puede ajustar mediante el parámetro Extract "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_WARNING".

Si Extract aún no puede consultar la información de SCN aplicada a la base de datos en espera después de 30 minutos (valor por defecto), el proceso Extract finalizará de forma anormal y registrará el siguiente mensaje en el archivo de informe Extract:

ERROR   OGG-02722  Extract abended waiting for 1,800 seconds for the
    standby database to be accessible or caught up with the primary database.

Si la base de datos en espera está disponible antes de que caduque el timeout por defecto de 30, Extract continúa extrayendo datos de la base de datos origen e informa el siguiente mensaje al archivo de informe:

INFO    OGG-02723  Extract resumed from stalled state and started processing LCRs.

El valor de timeout de 30 minutos se puede ajustar mediante el parámetro Extract "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_ABEND ", donde el valor es el número de segundos que la base de datos en espera no está disponible antes de la finalización anormal.

Si la base de datos en espera no estará disponible durante un período prolongado, como durante una interrupción de mantenimiento planificada, y desea que Extract siga extrayendo datos de la base de datos primaria, elimine el parámetro "TRANLOGOPTIONS HANDLEDLFAILOVER" del archivo de parámetros Extract y reinicie Extract (consulte el ejemplo siguiente en las figuras 4 a 6). Recuerde definir el parámetro una vez que la base de datos en espera esté disponible.

Nota: Si la extracción de una base de datos primaria continúa mientras la base de datos en espera no está disponible, puede producirse un failover de pérdida de datos después de que la base de datos en espera esté disponible y no se haya aplicado todo el redo primario antes de un failover. La base de datos de destino GoldenGate contendrá datos que no existen en la base de datos de origen.

Si al proceso de extracción se le ha asignado un perfil de reinicio automático, después de una transición de rol de Data Guard, el proceso de extracción se reiniciará automáticamente. Extract seguirá extrayendo datos de redo de la nueva base de datos primaria, ignorando el estado actual de la nueva base de datos en espera, hasta que caduque un período de timeout de 5 minutos por defecto. Después de este tiempo, si la base de datos en espera no está disponible, Extract finalizará de forma anormal con los siguientes errores:

INFO    OGG-25053  Timeout waiting for 300 seconds for standby database
 reinstatement. Now enforcing HANDLEDLFAILOVER.
ERROR   OGG-06219  Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR   OGG-02078  Extract encountered a fatal error in a processing thread and is
 abending.

Extract continuará reiniciándose automáticamente, según el perfil de reinicio automático de microservicios GoldenGate y fallará debido a que se ha alcanzado el timeout de HANDLEDLFAILOVER, hasta que se alcance el número de reintentos o la nueva base de datos en espera esté disponible.

Durante el período de timeout tras una transición de rol de base de datos, el parámetro HANDLEDLFAILOVER se suspende automáticamente, por lo que los datos se replicarán en la base de datos de réplica de Oracle GoldenGate sin tener en cuenta que la base de datos en espera de origen no se mantiene actualizada. El período de timeout para que la base de datos en espera se inicie antes de que las finalizaciones anormales de Extract se puedan ajustar mediante el parámetro Extract TRANLOGOPTIONS DLFAILOVER_TIMEOUT.

Se recomienda dejar DLFAILOVER_TIMEOUT en el valor por defecto de 5 minutos para permitir que la antigua base de datos primaria se convierta a una base de datos en espera. Si la nueva base de datos en espera no estará disponible durante un período prolongado o ha desaparecido por completo, para que Extract se inicie y permanezca en ejecución, debe eliminar el parámetro HANDLEDLFAILOVER del archivo de parámetros Extract. Después de eliminar el parámetro, Extract ya no espera hasta que se haya aplicado el redo a la base de datos en espera antes de extraer los datos.

Durante el tiempo que tarda la base de datos en espera en volver a estar en línea y aplicar todo el redo de la base de datos primaria, habrá divergencia de datos entre ella y la base de datos de réplica de Oracle GoldenGate. Esto se resolverá una vez que la base de datos en espera esté actualizada. En ese momento, vuelva a agregar el parámetro HANDLEDLFAILOVER al archivo de parámetros del proceso Extract integrado y, a continuación, pare y reinicie Extract.

Cuando el failover de inicio rápido de Oracle Data Guard está desactivado, de forma que el broker pueda realizar automáticamente un failover en una base de datos en espera en caso de pérdida de la base de datos primaria, debe especificar un parámetro Extract integrado adicional que se muestra a continuación.

TRANLOGOPTIONS FAILOVERTARGETDESTID n

Este parámetro identifica qué base de datos en espera debe permanecer el proceso de extracción de Oracle GoldenGate para no extraer datos de redo que aún no se hayan aplicado a la base de datos en espera.

Si el failover de inicio rápido de Oracle Data Guard está desactivado y no especifica el parámetro de extracción integrado adicional FAILOVERTARGETDESTID, la extracción finalizará de forma anormal con los siguientes errores:

ERROR OGG-06219 Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR OGG-02078 Extract encountered a fatal error in a processing thread and is abending.

Para determinar el valor correcto para FAILOVERTARGETDESTID, utilice el parámetro LOG_ARCHIVE_DEST_N de la base de datos de origen GoldenGate que se utiliza para enviar redo a la base de datos en espera de origen. Por ejemplo, si LOG_ARCHIVE_DEST_2 apunta a la base de datos en espera, utilice un valor de 2.

Como usuario oracle en el sistema de base de datos principal, ejecute el siguiente comando:

[opc@exapri-node1 ~]$ sudo su - oracle
[oracle@exapri-node1 ~]$ source <db_name>.env
[oracle@exapri-node1 ~]$ sqlplus / as sysdba

SQL> show parameters log_archive_dest

NAME                  TYPE        VALUE
--------------------- ----------- ---------------------------------------------------
log_archive_dest_1    string      location=USE_DB_RECOVERY_FILE_DEST,
                                  valid_for=(ALL_LOGFILES, ALL_ROLES)

log_archive_dest_2    string      service="<db_name>", SYNC AFFIRM delay=0
                                  optional compression=disable max_failure=0 reopen=300
                                  db_unique_name="<db_name>" net_timeout=30,
                                  valid_for=(online_logfile,all_roles)

En este ejemplo, el parámetro Extract se definiría en lo siguiente:

TRANLOGOPTIONS FAILOVERTARGETDESTID 2

Cree el Extract:

  1. Conéctese a Oracle GoldenGate de origen.

  2. En el menú de navegación, seleccione Extracts.

  3. En la página Extracts, seleccione Add Extract.

  4. Complete el formulario Agregar extracción de la siguiente manera:

    1. Para información de extracción:

      • Tipo de extracción: Extracto integrado.

      • Nombre de proceso: EXT_1

      • Descripción: extracción para CDB de región 1

    2. Para opciones de extracción:

      • Dominio de credenciales: GoldenGate

      • Alias de credencial: Reg1_CDB

      • Registrarse en PDB: Nombre de PDB

      • Intención: Unidireccional

      • Empezar: Ahora

      • Nombre de pista: aa

  5. Seleccione Siguiente.

  6. Si utiliza la captura raíz de CDB desde la PDB, agregue el parámetro SOURCECATALOG con el nombre de la PDB

  7. Seleccione Create and Run.

Paso 2.5.2: configuración de Replicat

Oracle suele recomendar el uso de Replicat paralelo integrado, que ofrece un mejor rendimiento de aplicación para la mayoría de las cargas de trabajo cuando GGHUB se encuentra en la misma región que la base de datos Oracle GoldenGate de destino.

El mejor rendimiento de aplicación se puede lograr cuando la latencia de red entre GGHUB y la base de datos de destino es lo más baja posible. Se recomienda la siguiente configuración para el Replicat remoto que se ejecuta en Oracle GGHUB.

Paso 2.5.2.1: Creación de la tabla de puntos de control

La tabla de puntos de control es un componente necesario para los procesos de Oracle GoldenGate Replicat. Después de conectarse a la base de datos desde la página Credenciales del servicio de administración, puede crear la tabla de puntos de control.

Cree la tabla de puntos de control en el despliegue de destino:

  1. Conéctese a la interfaz de usuario web de Oracle GoldenGate.

  2. En el menú de navegación, seleccione Conexiones de Base de Datos y, a continuación, conéctese a la base de datos destino.

  3. Después de conectarse correctamente a la base de datos de destino, seleccione Tabla de puntos de control.

  4. Seleccione Agregar punto de control (icono con signo más). Aparece la página Add Checkpoint (Agregar punto de control).

  5. En Tabla de puntos de control, introduzca ggadmin.chkp_table.

  6. Seleccione Enviar

Consulte Adición de una Tabla de Punto de Control.

Paso 2.5.2.2: agregar un Replicat

Después de configurar las conexiones a la base de datos y verificarlas, puede agregar un Replicat para el despliegue siguiendo estos pasos:

  1. En el menú de navegación, seleccione Replicats.

  2. En la página Replicats, seleccione Add Replicat (icono más). Aparecerá la página Agregar Replicat.

  3. Seleccione un tipo de Replicat y seleccione Siguiente.

  4. Introduzca los detalles de la siguiente manera:

    • Nombre de proceso: REP_1

    • Descripción: Replicat para PDB de Región 2

    • Intención: Unidireccional

    • Dominio de credenciales: GoldenGate

    • Alias de credencial: Reg2_PDB

    • Origen: Pista

    • Nombre de pista: aa

    • Begin: Position in Log (Iniciar: Posición en registro)

    • Tabla de puntos de control: "GGADMIN"."CHKP_TABLE"

  5. Seleccione Siguiente.

  6. En el Menú de acción, seleccione Iniciar.

Paso 2.5.3: configuración de la ruta de distribución

Las rutas de distribución solo son necesarias cuando los archivos de pista se deben enviar a un hub de Oracle GoldenGate adicional en una región diferente o incluso la misma, como se describe en la siguiente figura.

Figura 1: Ruta de distribución de Oracle GoldenGate

A continuación, se muestra la descripción de imagen

Al utilizar rutas de distribución de Oracle GoldenGate con el proxy inverso NGINX, se deben realizar pasos adicionales para garantizar que se han configurado los certificados de cliente y servidor de la ruta.

Para obtener más información, consulte Ruta de Servicio de Distribución. En el siguiente vídeo, se muestra un ejemplo paso a paso: "Conexión de una instancia local de Oracle GoldenGate a OCI GoldenGate mediante NGINX" para configurar correctamente los certificados.

Estos son los pasos que se realizan en este subpaso:

Paso 2.5.3.1: descargue el certificado raíz del servidor de destino y, a continuación, cárguelo en Oracle GoldenGate de origen

Descargue el certificado raíz del servidor de despliegue de destino y agregue el certificado de CA al gestor de servicios de despliegue de origen.

  1. Conéctese a la interfaz de usuario web GoldenGate para el destino GoldenGate.

  2. Siga el video "Paso 2: Descargue el certificado raíz del servidor de destino" Conecte una instancia local de Oracle GoldenGate a OCI GoldenGate mediante NGINX.

Paso 2.5.3.2: cree un usuario en el despliegue de destino para que utilice Oracle GoldenGate de origen

  1. En la interfaz de usuario web GoldenGate de destino, seleccione Administración de usuarios en la navegación izquierda.

  2. Seleccione Agregar nuevo usuario y, a continuación, complete lo siguiente:

    1. Autenticado por: seleccione Contraseña en la lista desplegable.

    2. Rol: seleccione Operador en la lista desplegable.

    3. Nombre de usuario: introduzca su nombre de usuario.

    4. Contraseña y Verificar contraseña: introduzca la contraseña asociada a este usuario.

  3. Seleccione Enviar.

Paso 2.5.3.3: creación de una conexión de ruta de acceso en Oracle GoldenGate de origen

Cree una conexión de ruta de acceso en el despliegue de origen que conecte el despliegue de destino con el usuario creado en el paso anterior. Por ejemplo, un dominio de OP2C y un alias de WSSNET.

  1. Conéctese a Oracle GoldenGate de origen.

  2. En el menú de navegación, seleccione Path Connections (Conexiones de ruta).

  3. En la página Conexiones de Ruta de Acceso, seleccione Agregar Conexión de Ruta de Acceso y, a continuación, complete lo siguiente:

    1. Alias de credencial: introduzca un alias.

    2. ID de usuario: introduzca el nombre del usuario creado en la etapa 2.5.3.2.

    3. Password (Contraseña) y Verify Password (Verificar contraseña): introduzca la contraseña asociada a este usuario del paso 2.5.3.2.

  4. Seleccione Enviar.

Paso 2.5.3.4: cree una ruta de distribución en Oracle GoldenGate de origen para el despliegue de destino

Se crea una ruta de acceso para enviar archivos de pista desde el servidor de distribución al servidor de receptor. Puede crear una ruta desde el servicio de distribución. Para agregar una ruta de acceso para el despliegue de origen:

  1. En Oracle GoldenGate de origen, seleccione Rutas de Servicio de Distribución en el menú de navegación.

  2. Seleccione Agregar ruta (icono más). Se muestra la página Agregar ruta.

  3. Introduzca los detalles de la siguiente manera:

    1. Introduzca un nombre de ruta.

    2. En Origen, seleccione el nombre del Extract en el desplegable.

    3. Para URI de origen generado, introduzca localhost para el nombre del servidor. Esto permite que la ruta de distribución se inicie desde cualquiera de los nodos de Oracle RAC.

    4. En Método de autenticación de destino, seleccione Alias de UserID.

    5. Para Destino, seleccione wss (socket web seguro).

    6. En Host de destino, introduzca el nombre de host/VIP de destino que se utilizará para conectarse al sistema de destino.

    7. En Port Number (Número de puerto), introduzca el número de puerto con el que se configuró NGINX (el valor predeterminado es 443).

    8. Para Dominio, seleccione el dominio de credenciales creado en el paso 2.3.3.3.

    9. Para Alias, seleccione el alias de credencial wssnet, también creado en el paso 2.3.3.3.

    10. En Opciones de Reinicio Automático, defina la ruta de distribución para que se reinicie cuando el servidor de distribución se inicie automáticamente. Esto es necesario, de modo que no se requiere intervención manual después de la reubicación de un nodo RAC del servidor de distribución.

    11. En Reintentos, introduzca 10.

    12. Para Retraso, que es el tiempo en minutos para pausar entre intentos de reinicio, introduzca 1.

  4. Seleccione Create Path.

  5. En el menú Acción, seleccione Iniciar.