Note:

Despliegue de Oracle GoldenGate Microservices entre regiones en Oracle Cloud Infrastructure con Oracle Database

Introducción

La arquitectura de microservicios (MA) de Oracle GoldenGate es una herramienta de replicación que permite gestionar y configurar la replicación de datos en varios entornos de base de datos. Utiliza los servicios RESTful y una arquitectura basada en microservicios para simplificar la gestión, la configuración y la supervisión de los despliegues en la nube.

image

Oracle GoldenGate 23ai:

Historial de evaluación de Oracle GoldenGate 23ai

image

Funciones de Oracle GoldenGate 23ai

image

Implementación de Oracle GoldenGate

En este tutorial, utilizaremos las bases de datos de origen y destino como microservicios de Oracle Database 23ai y Oracle GoldenGate 23ai como servicio en OCI, para replicar datos de la región Ashburn de la base de datos de origen (DB) a la región San José de la base de datos de destino. Oracle GoldenGate se puede desplegar en cualquiera de las regiones. Desplegaremos Oracle GoldenGate en la región de San José y conectaremos tanto la base de datos de origen como la de destino mediante el mismo despliegue de Oracle GoldenGate.

image

Nota: Se trata de un diagrama simplificado. El nombre de red real puede ser diferente.

Entorno:

Región de OCI Compartimiento VCN Subred CDB PDB Almacén Clave Secreto Golden Gate
Ashburn Base de datos/NonProd VCN_ASH Pub/Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH NA NA NA
San Jose Base de datos/NonProd VCN_SJ Pub/Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey oggadmin OGG_Dep_23ai

Público Objetivo

Este tutorial está destinado a que los administradores del sistema y los usuarios de la base de datos conozcan los microservicios de Oracle GoldenGate. Se supone que los lectores están familiarizados con la tecnología de Oracle GoldenGate, las tecnologías web, OCI y tienen una comprensión general de las plataformas UNIX.

Objetivos

Requisitos

Tarea 1: Aprovisionamiento del despliegue de Oracle GoldenGate

Para aprovisionar el despliegue de Oracle GoldenGate como servicio en OCI, se necesitan políticas mínimas para el usuario que va a crear el despliegue y las conexiones. La tarea adicional durante el mantenimiento es parar e iniciar el despliegue.

Se necesitan las siguientes políticas:

allow group <identity-domain>/<group-name> to manage goldengate-family in compartment <compartment-name>
allow group <identity-domain>/<group-name> to manage virtual-network-family in compartment <compartment-name>
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in tenancy
allow group <identity-domain>/<group-name> to manage secret-family in <location>
allow group <identity-domain>/<group-name> to use keys in <location>
allow group <identity-domain>/<group-name> to use vaults in <location>
allow service goldengate to use keys in <location>
allow service goldengate to use vaults in <location>

Para aprovisionar el despliegue de Oracle GoldenGate, vaya a la consola de OCI y seleccione la región y el compartimento respectivos.

  1. Haga clic en Oracle Database y seleccione GoldenGate.

  2. Seleccione despliegue y haga clic en Crear despliegue.

  3. Introduzca el nombre del despliegue, cree el compartimento en el que debe residir el despliegue de Oracle GoldenGate, seleccione Despliegue o prueba e introduzca el recuento de OCPU. Hemos mantenido la escala automática desactivada a partir de ahora, que se puede activar más tarde. Seleccione Subred, tipo de licencia y haga clic en Siguiente.

    image

  4. Seleccione el tipo de despliegue, la versión de Oracle GoldenGate y el nombre de instancia GoldenGate, introduzca el nombre de usuario del administrador como oggadmin y proporcione el nombre del compartimento donde se crea el secreto en la sección Requisitos, seleccione el secreto de contraseña en el menú desplegable y haga clic en Crear.

    image

    El despliegue de Oracle GoldenGate tardará unos minutos en crearse. El despliegue de Oracle GoldenGate se creará en el compartimento (root)/Database/NonProd.

Tarea 2: Conexión a la consola de Oracle GoldenGate

  1. Una vez finalizado el despliegue de Oracle GoldenGate, abra Despliegue y haga clic en Iniciar consola.

    image

  2. Conéctese mediante el nombre de usuario y la contraseña de despliegue de Oracle GoldenGate utilizados durante la creación del despliegue.(Ex.oggadmin/contraseña)

    image

Tarea 3. Preparación de la Base de Datos de Origen y Destino

Nota: A partir de Oracle GoldenGate 23ai, la extracción de nivel raíz no está soportada. Esto implica que los privilegios de usuario se asignan solo a nivel de PDB y el usuario c##ggadmin no se utiliza con Oracle GoldenGate 23ai. Oracle GoldenGate 23ai con Oracle Database permite la implantación de bases de datos conectables (PDB) para el origen y el destino. Extract se registra para una PDB específica, lo que se denomina extracción por PDB.

  1. Asegúrese de que el registro forzoso está activado en la base de datos de origen.

    select name, force_logging from v$database;
    ALTER DATABASE FORCE LOGGING;
    select name, force_logging from v$database;
    
  2. Active el registro complementario mínimo.

    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
  3. Cambie el parámetro para la extracción de Oracle GoldenGate.

    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
    alter system set streams_pool_size=2G scope=both sid='*';
    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    
  4. Ejecute la siguiente consulta en la base de datos origen (PDB).

    alter session set container=VMDB1_PDB1;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_CAPTURE TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    
  5. Ejecute la siguiente consulta en la base de datos de destino (PDB).

    alter session set container=VMDB1_GG;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_APPLY, OGG_APPLY_PROCREP  TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    

Tarea 4. Crear Conexión a la Base de Datos Origen y Destino

Una vez que el despliegue y la base de datos de Oracle GoldenGate estén listos, debemos establecer una conexión entre el servicio de Oracle GoldenGate y la base de datos.

  1. Conéctese a la consola de OCI, seleccione la región y el compartimento.

  2. Haga clic en Oracle Database y seleccione GoldenGate.

  3. Seleccione Conexiones y haga clic en Crear conexión.

  4. Introduzca el nombre de la conexión, el compartimento en el que desea crear la conexión, el tipo de la base de datos y haga clic en Siguiente.

    image

  5. Para crear una conexión a la base de datos origen, introduzca la siguiente información y haga clic en Crear.

    • Seleccione Introducir información de base de datos porque la base de datos está en otra región.
    • Cadena de conexión de base de datos: introduzca IP como nombre de host porque el nombre de host necesitaría DNS para resolverlo.
    • Nombre de usuario de base de datos: introduzca GGADMIN que se ha creado en la tarea 3.
    • Contraseña de usuario de la base de datos: introduzca la contraseña del usuario de la base de datos.
    • Método de enrutamiento de tráfico: seleccione Punto final dedicado.
    • Modo de sesión: seleccione Directo.
    • Subred pública: introduzca Subnet-VCN_SJ.

    image

    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = vmdb1_pdbsub02090909270.vcnash.oraclevcn.com)))
    

    Una vez creada la conexión, abra los detalles de conexión en GoldenGate, haga clic en Despliegue asignado y Asignar despliegue.

    image

  6. Al igual que el origen, cree la conexión OGG_VMDB2_SJ a la base de datos de destino y asigne el despliegue. Solo la diferencia es que, dado que Oracle GoldenGate y Oracle Database están en la misma región y VCN, podemos seleccionar directamente la base de datos, como se muestra en la siguiente captura de pantalla.

    image

    Como la base de datos se encuentra en la misma región, podemos seleccionar directamente la base de datos e introducir el nombre de usuario y la contraseña de la base de datos para GGADMIN creados en la tarea 3.

    image

  7. Valide la conexión de origen y destino en Oracle GoldenGate. Una vez creada una conexión, conéctese a la consola de Oracle GoldenGate. Haga clic en Conexiones de base de datos, donde se mostrarán todas las conexiones. Haga clic en Conexión de origen y destino y asegúrese de que ambas conexiones se están resolviendo.

    image

Tarea 5: Extraer configuración

  1. Agregar trandata.

    Nota: Asegúrese de activar el complemento de nivel de tabla agregando TRANDATA. Si el registro complementario a nivel de esquema ya está activado, puede omitir estos pasos.

    1. Para agregar trandata, primero debemos realizar la conexión a la base de datos origen desde la consola de Oracle GoldenGate. Haga clic en la conexión a la base de datos origen.

    2. Haga clic en +, seleccione Tabla o Esquema e introduzca el Nombre de la Tabla o el Nombre del Esquema.

      En caso de replicación de nivel de tabla, seleccione Tabla e introduzca el nombre de tabla con el formato <Schema_Name.Table_Name>.

    3. Seleccione Todas las columnas si la tabla no tiene ninguna clave y seleccione Preparar modo CSN como nowait.

      image

    4. Una vez agregado el trandata, puede buscarlo indicando el nombre de tabla o esquema en la barra de búsqueda, como se muestra en la siguiente imagen.

      image

  2. Cree un Extract integrado.

    1. Conéctese a la conexión OGG_VMDB1_PDB1_ASH de la base de datos de origen (PDB) en la consola de Oracle GoldenGate y cree la tabla CheckPoint.

      image

    2. Conéctese a la conexión OGG_VMDB1_PDB1_ASH de la base de datos de origen (PDB) en la consola de Oracle GoldenGate y cree Tabla de latidos solo para la base de datos de destino.

      image

  3. Agregue un Extract integrado.

    1. Una vez que el trandata se haya agregado correctamente, agregue el Extract integrado para las tablas o esquemas mencionados. Seleccione la extracción en el menú de navegación de Oracle GoldenGate. Haga clic en + en la sección de extracción.

    2. Seleccione Extracción integrada, introduzca Nombre de proceso (máximo 8 caracteres) y Descripción.

      image

    3. Seleccione OracleGoldenGate como Dominio de credencial de origen en el menú desplegable, la credencial Alias, Pista, Perfil de cifrado, etc.

      image

    4. En la sección Opción gestionada, seleccione Nombre de perfil, Reinicio automático, Máximo de reintentos, Reintento de minutos de retraso, Ventana Reintentos y haga clic en Siguiente.

      image

    5. Una vez creado el archivo de parámetros por defecto, agregue los parámetros necesarios adicionales en el archivo de parámetros, si es necesario, y haga clic en Crear.

      image

      Parámetro utilizado en la extracción de DEV.

      EXTRACT EX_VMDB1
      USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate
      EXTTRAIL et
      TABLE GG_ASH.*;
      
  4. Inicie la extracción integrada.

    1. Una vez creada la extracción, haga clic en Iniciar.

      image

      Una vez que la extracción se esté ejecutando correctamente, se mostrará con el estado En ejecución.

      image

    2. Amplíe Proceso de extracción y mostrará muchas secciones, como Punto de control, Estadísticas e Informe. Actualmente puede ver el informe. Haga clic en Refrescar en el lado derecho para refrescar el informe o las estadísticas.

      image

Tarea 6: Carga inicial de datos

  1. Realice el volcado de exportación basado en SCN del esquema mencionado desde la PDB de origen.

    $mkdir -p /u01/app/oracle/dump
    
    SQL>  alter session set container=VMDB1_PDB1;
    set lines 300 pages 100
    col DIRECTORY_NAME for a30
    col DIRECTORY_PATH for a100
    select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='DUMP' ;
    
    create directory dump as '/u01/app/oracle/dump';
    grant read,write on directory DUMP to GG_ASH;
    
    SQL> select current_scn from v$database;
    
    CURRENT_SCN
    -----------
       20049713
    
    expdp GG_ASH/PPassword_123@VMDB1_PDB1_ASH directory=dump dumpfile=GG_ASH.dmp logfile=GG_ASH.log schemas=GG_ASH FLASHBACK_SCN=20049713
    
  2. Importe los datos en la PDB de destino.

    Nota: En este tutorial, hemos proporcionado acceso de DBA a GG_ash, pero puede otorgar acceso según los requisitos.

    $mkdir -p /u01/app/oracle/dump/
    SQL> alter session set container=VMDB2_GG1;
    SQL> create user GG_ash identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs ;
    SQL> grant DBA to GG_ash;
    SQL> create directory dump as '/u01/app/oracle/dump';
    SQL> grant read,write on directory DUMP to GG_ASH;
    [oracle@sjvmdb2 admin]$ cp /tmp/GG_ASH.dmp /u01/app/oracle/dump/GG_ASH.dmp
    [oracle@sjvmdb2 admin]$ impdp GG_ASH/PPassword_123@VMDB2_GG1 directory=dump dumpfile=GG_ASH.dmp logfile=imp_GG_SJ.log
    

Tarea 7: Configuración de Replicat

  1. Cree el replicado integrado.

    1. Para agregar trandata, primero debemos realizar la conexión a la base de datos de origen desde la consola de Oracle Goldengate. Seleccione Replicar en el panel izquierdo y haga clic en + en Replicados.

    2. Seleccione Replicat Integrado, introduzca Nombre de Replicat, Descripción y haga clic en Siguiente.

      image

    3. Introduzca Pista de replicación (igual que en Proceso de extracción - Tarea 5), Perfil de cifrado, Dominio, Alias, Tabla CheckPoint (creado durante Extract - Tarea 5) y Ubicación de log.

      image

    4. En la sección Opción gestionada, seleccione Nombre de perfil, Reinicio automático, Reintentos máximos, Retraso de reintentos, Ventana Reintentos y haga clic en Siguiente.

      image

    5. Una vez creado el archivo de parámetros por defecto. Agregue los parámetros necesarios adicionales en el archivo de parámetros, si es necesario, y haga clic en Crear.

      image

  2. Inicie el Replicat desde flashback_SCN.

    1. Una vez creado el proceso Replicat, haga clic en tres puntos y en Start with Options.

      image

    2. Seleccione Punto de inicio como número Después de CSN y CSN, que es el número de SCN que hemos utilizado como SCN de flashback al realizar la exportación. Active Filtrar duplicados y haga clic en Iniciar.

      image

    3. Haga clic en Replicar y mostrará muchas secciones, como Punto de Control, Estadísticas e Informe. Haga clic en Informe y Refrescar en el lado derecho para refrescar el informe o las estadísticas.

      image

Tarea 8: Validación de la replicación de datos

  1. Una vez configurados Extract y Replicat, conéctese a la consola de Oracle GoldenGate y haga clic en Inicio. Puede ver que Extract y Replicat se están ejecutando.

  2. Inserte algunos datos en la base de datos origen (PDB), los mismos se deben reflejar en la base de datos destino (PDB).

    image

  3. Conéctese a la base de datos origen.

    image

  4. Conéctese a la base de datos destino.

    image

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.

Para obtener documentación sobre el producto, visite Oracle Help Center.