REGISTER EXTRACT

Este comando se aplica a Oracle AI Database y PostgreSQL.

Oracle AI Database

Este comando registra un grupo de Extract principal para activar el modo de captura integrado y especificar opciones para Extract integrado desde una base de datos de contenedor multi-inquilino

Para anular el Registro de un grupo de Extract de la base, utilice el comando UNREGISTER EXTRACT.

Sintaxis:

REGISTER EXTRACT group-name
          ( , DATABASE
          ( [ CONTAINER container-list |
              ADD   CONTAINER container-list |
              DROP  CONTAINER container-list ]
            [ SCN   scn   ]
            [ SHARE ( AUTOMATIC | group-name | NONE ) ]
            [ [NO]OPTIMIZED ]
          ) )

Lalista de contenedores es una lista separada por comas de nombres del PDB, por ejemplo, (pdbeast, pdbwest); o nombres del PDB con comodín, por ejemplo, (pdb* or pdb?); o ambos, por ejemplo, (cdbnorth, pdb*). Los comodines admitidos son ? y *.

La opción OPTIMIZED mejora el inicio rápido de Extract. El valor por defecto es NOOPTIMIZED. La opción OPTIMIZED solo afecta a una configuración ascendente no multiinquilino.

DATABASE [
CONTAINER (container[, ...]) |
ADD CONTAINER (container[, ...]) |
DROP CONTAINER (container[, ...])
]

Válido para Oracle.

Sin opciones, DATABASE activa la captura integrada desde una base de Datos no CDB para el grupo de Extract. En este modo, Extract se integra con el servidor de logmining de la base de datos para recibir los datos de cambio con el formato de registros lógicos de cambios (LCR). Extract no lee los redo logs. Extract realiza el procesamiento de la captura, la transformación y otros requisitos. El filtrado de DML se realiza en el servidor de logmining.

Para utilizar REGISTER EXTRACT con DATABASE, utilice el comando DBLOGIN USERIDALIAS para todos los Extract con los privilegios otorgados utilizando el procedimiento dbms_goldengate_auth.grant_admin_privilege. Si tiene una configuración descendente, también debe emitir el comando MININGDBLOGIN. Si la base de Datos de Origen que Va a Registrar es una base de Datos CDB y Extract recuperará datos, debe llamarse a grant_admin_privilege con el parámetro CONTAINER=>'ALL'.

Después de utilizar la opción REGISTER EXTRACT, utilice ADD EXTRACT con la opción INTEGRATED TRANLOG para crear un grupo de Extract del mismo nombre.

CONTAINER (container[, ...])

Aplica el registro a una lista de una o más bases de datos conectables (contenedores) de una base de datos de contenedor multiinquilino (CDB). Especifique una o más bases de Datos conectables como una lista delimitada por comas entre paréntesis, por ejemplo: CONTAINER (pdbeast, pdbwest). Si crea una lista de bases de datos conectables, estas deben existir en la base de datos. También puede especificar las bases de Datos conectables utilizando los comodines * y ?. Por ejemplo, CONTAINER (pdb*).

ADD CONTAINER (container[, ...])

Agrega la base de datos conectable especificada a una configuración de captura de Extract existente. Especifique una o más bases de Datos conectables como una lista delimitada por comas entre paréntesis o utilizando los comodines * y ?. Por ejemplo: ADD CONTAINER (pdbeast, pdbwest). Antes de emitir REGISTER EXTRACT con esta opción, pare el grupo de Extract.

Para Oracle, no está soportada la adición de contenedores en un SCN concreto de un Extract existente.

DROP CONTAINER (container[, ...])

Borra la base de datos conectable especificada de una configuración de captura de Extract existente. Especifique una o más bases de Datos conectables como una lista delimitada por comas entre paréntesis o utilizando los comodines * y ?. Por ejemplo,DROP CONTAINER (pdbeast, pdbwest).

El registro del Extract después de ejecutar la opción drop container, no aparece por completo hasta la fecha en que se haya iniciado el Extract y esta lea una transacción confirmada de una base de Datos conectable borrada que sea mayor a la SCN del Punto de Control del Extract. A continuación, el Extract borra completamente los contenedores y se cierra con un mensaje.

Antes de ejecutar REGISTER EXTRACT con esta opción, pare el grupo de Extract.

SCN system_change_number

Registra Extract para iniciar la captura en un número de cambio del sistema (SCN) específico en el pasado. Sin esta opción, la captura comienza desde el momento en que se emite REGISTER EXTRACT. El SCN especificado debe coincidir con el SCN de inicio de una operación de creación de diccionario en un archivo log. Puede emitir la siguiente consulta para buscar todos los valores válidos de SCN de volcados de diccionario en el nivel de CDB:

SELECT first_change#
   FROM v$archived_log
   WHERE dictionary_begin = 'YES' AND
      standby_dest = 'NO' AND
      name IS NOT NULL AND
      status = 'A';

Sin embargo, esta consulta no funciona al registrar una extracción por PDB. Para identificar el SCN de inicio de los volcados de diccionario disponibles para una PDB específica, podemos seguir estos pasos:

  1. Conéctese a la PDB.

  2. Ejecute el comando show con_id para obtener el identificador de PDB.

  3. Ejecute la siguiente consulta para mostrar todos los volcados de diccionario disponibles en orden descendente:

    SELECT DATE_OF_BUILD, START_SCN FROM dba_logmnr_dictionary_buildlog WHERE CONTAINER_ID = PDB identifier ORDER BY DATE_OF_BUILD DESC;

Cuando se utiliza solo, el valor de SCN es el SCN de inicio de la operación de creación de diccionario en un archivo log.

Cuando se utiliza junto con SHARE AUTOMATIC o SHARE extract_name, el SCN especificado es el start_scn para la sesión de captura y tiene las siguientes restricciones:

{SHARE [ AUTOMATIC | extract | NONE]}

Válido para Oracle.

Registra el Extract para volver a una creación de diccionario de datos de LogMiner existente con un SCN especificado creando un clon. Este permite crear los Extract de forma más rápida aprovechando las creaciones de diccionario existentes.

SHARE no se puede utilizar en una CDB.

Los siguientes comandos están soportados:

REGISTER EXTRACT extract database SCN #### SHARE AUTOMATIC
REGISTER EXTRACT extract database SCN #### SHARE extract
REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE

O bien

REGISTER EXTRACT extract database SHARE NONE
REGISTER EXTRACT extract database SCN #### SHARE NONE

En cambio, los siguientes comandos no están soportados en una configuración descendente:

REGISTER EXTRACT extract DATABASE SHARE AUTOMATIC
REGISTER EXTRACT extract DATABASE SHARE extract

AUTOMATIC

Clon de la captura más cercana existente. Si no se encuentra un candidato a clon más adecuado, se crea una nueva creación.

extract

Clon de la sesión de captura asociada para el Extract especificado. Si esto no es posible, se produce un error y no se completa el registro.

NONE

No clona ni crea una nueva creación; este es el valor por defecto.

En una configuración descendente, la cláusula SHARE se debe utilizar junto con la cláusula SCN al registrarse para Extract.

PostgreSQL

Este comando crea una ranura de replicación en la base de datos de origen conectada y garantiza que la base de datos PostgreSQL no depure el log de transacciones hasta que se mueva o elimine la ranura de replicación. El comando REGISTER EXTRACT debe ejecutarse antes de ejecutar el comando ADD EXTRACT.

Debe conectarse a la instancia de base de datos PostgreSQL mediante DBLOGIN USERIDALIAS antes de registrar Extract.

También puede registrar un Extract desde la interfaz web del servicio de administración de Oracle GoldenGate. Para obtener más información, consulte Registro de Extract para PostgreSQL en la documentación de microservicios de Oracle GoldenGate.

También puede configurar opciones de flujo para PostgreSQL, mediante el parámetro TRANLOGOPTIONS STREAMINGOPTIONS, para proporcionar parámetros durante el inicio de la replicación. Para obtener más información, consulte TRANLOGOPTIONS.

Nota: A partir de la versión 21c (21.3) de Oracle GoldenGate, no es obligatorio introducir database_name.

Sintaxis:

REGISTER EXTRACT group_name

o bien

REGISTER EXTRACT group_name PGPLUGINTYPE pgoutput;

Nota: Para registrarse explícitamente con el plugin pgoutput, debe especificar el tipo de plugin pgoutput en el comando. Si no selecciona el plugin pgoutput, se define el tipo de plugin por defecto, test_decoding.

o bien

REGISTER EXTRACT group_name MIGRATE replication_slot_name

o bien

REGISTER EXTRACT group_name with DATABASE database_name

o bien

group_name

Nombre del grupo de Extract que se va a registrar. No utilice un comodín.

MIGRATE replication_slot_name

Válido para PostgreSQL.

En caso de cambio de versión de Oracle GoldenGate, donde el directorio de instalación es diferente para los procesos de Extract, se necesita REGISTER EXTRACT con la opción MIGRATE.

replication_slot_name es el nombre de cualquier ranura de replicación existente presente en la base de datos. Este comando crea una nueva ranura de replicación copiando la información de LSN presente en el replication_slot_name del espacio original. El espacio de replicación copiado empieza a partir del mismo LSN que el original.

Nota: La ranura de replicación original debe estar presente en la misma base de datos desde la que se desea crear una nueva ranura.

PGPLUGINTYPE test_decoding | pgoutput

Válido para PostgreSQL.

Esta opción se ha agregado para permitir seleccionar el plugin de descodificación lógica para PostgreSQL. Puede seleccionar test_decoding o pgoutput. Por defecto, el Extract de CDC se registra mediante el tipo de plugin test_decoding. Por lo tanto, si no especifica pgplugintype como pgoutput, test_decoding se utilizará automáticamente.

Ejemplos


REGISTER EXTRACT exte LOGRETENTION

REGISTER EXTRACT exte DATABASE

REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbwest, pdbsouth)

REGISTER EXTRACT exte DATABASE ADD CONTAINER (pdbnorth)

REGISTER EXTRACT exte DATABASE DROP CONTAINER (pdbnorth)

REGISTER EXTRACT exte DATABASE SCN 136589

El SCN de inicio de la creación de diccionario es 136589.


REGISTER EXTRACT exte DATABASE SCN 67000 SHARE extw

SCN de inicio válido, 67000 en este caso; no es necesariamente el SCN actual.


REGISTER EXTRACT exte DATABASE CONTAINER (pdbeast, pdbeast, pdbsouth) SCN 136589

Para PostgreSQL con el tipo de plugin especificado como PGOUTOPUT:

REGISTER EXTRACT exte PGPLUGINTYPE pgoutput WITH DATABASE hr