REGISTER EXTRACT

Cette commande s'applique à Oracle AI Database et à PostgreSQL.

Oracle AI Database

Cette commande enregistre un groupe Extract principal pour activer le mode de capture intégré et indiquer les options d'extraction intégrée à partir d'une base de données Conteneur colocative

Pour désinscrire un groupe d'extraction de la base de données, utilisez la commande UNREGISTER EXTRACT.

Syntaxe :

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 ]
          ) )

Container-list est une liste de noms de base de données pluggable séparés par une virgule, par exemple (pdbeast, pdbwest) ; de noms de base de données pluggable avec des caractères génériques, par exemple (pdb* or pdb?) ; ou des deux, par exemple (cdbnorth, pdb*). Les caractères génériques ? et * sont pris en charge.

L'option OPTIMIZED accélère le démarrage rapide de l'extraction. La valeur par défaut est NOOPTIMIZED. L'option OPTIMIZED n'a d'incidence que sur les configurations en amont non colocatives.

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

Valide pour Oracle.

Sans ces options, DATABASE active la capture intégrée à partir d'une base de donnée non Conteneur pour le groupe d'extraction. Dans ce mode, l'extraction s'intègre au serveur de log mining de base de données de sorte à recevoir les données de modification sous la forme d'enregistrements de modification logiques. L'extraction ne lit pas les fichiers de journalisation. L'extraction se charge du traitement de capture, de la transformation et d'autres exigences. Le filtrage DML est effectué par le serveur de log mining.

Avant d'utiliser REGISTER EXTRACT avec DATABASE, servez-Vous de la commande DBLOGIN USERIDALIAS pour toutes les extractions avec des privilèges accordés à l'aide de la procédure dbms_goldengate_auth.grant_admin_privilege. Si vous avez une configuration en aval, vous devez également émettre la commande MININGDBLOGIN. Si la base de_données source que vous inscrivez est une base de_données Conteneur et que l'extraction extrait des données, grant_admin_privilege doit être appelé avec le paramètre CONTAINER=>'ALL'.

Après avoir utilisé REGISTER EXTRACT, utilisez ADD EXTRACT avec l'option INTEGRATED TRANLOG pour créer un groupe d'extraction du même nom.

CONTAINER (container[, ...])

Applique l'inscription à une liste de bases de données pluggables (conteneurs) d'une base de données Conteneur colocative. Indiquez dans une liste entre parenthèses des bases de données pluggables séparées par une virgule. Exemple : CONTAINER (pdbeast, pdbwest). Si vous répertoriez des bases de données pluggables, elles doivent exister dans la base de données. Vous pouvez également indiquer les bases des données pluggables à l'aide des caractères génériques * et ?. Par exemple, CONTAINER (pdb*).

ADD CONTAINER (container[, ...])

Ajoute la base de données pluggable indiquée à une configuration de capture d'extraction existante. Indiquez des bases de données pluggables dans une liste entre parenthèses (valeurs séparées par une virgule) ou à l'aide des caractères génériques * et ?. Par exemple : ADD CONTAINER (pdbeast, pdbwest). Avant d'exécuter REGISTER EXTRACT avec cette option, arrêtez le groupe d'extraction.

Pour Oracle, l'ajout de conteneurs au niveau d'un numéro SCN particulier dans une extraction existante n'est pas pris en charge.

DROP CONTAINER (container[, ...])

Supprime la base de données pluggable indiquée d'une configuration de capture d'extraction existante. Indiquez des bases de données pluggables dans une liste entre parenthèses (valeurs séparées par une virgule) ou à l'aide des caractères génériques * et ?. Par exemple, DROP CONTAINER (pdbeast, pdbwest).

L'inscription de l'extraction après l'exécution de l'option drop container n'a lieu que lorsque l'extraction a été démarrée et qu'elle n'a pas lu de transaction validée à partir d'une base de données pluggable supprimée dont le nom SCN est supérieur à celui du point de reprise d'extraction. L'extraction supprime ensuite complètement les conteneurs, puis s'arrête avec un message.

Avant d'exécuter REGISTER EXTRACT avec cette option, arrêtez le groupe d'extraction.

SCN system_change_number

Inscrit l'extraction de façon à commencer la capture au niveau d'un numéro de modification système (SCN) spécifique dans le passé. Sans cette option, la capture commence à l'heure où REGISTER EXTRACT est émise. Le numéro SCN indiqué doit correspondre au numéro SCN de départ d'une opération de build de dictionnaire dans un fichier journal. Vous pouvez émettre la requête suivante pour rechercher toutes les valeurs de SCN valides à partir des vidages du dictionnaire au niveau de la base de données Conteneur :

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

Toutefois, cette requête ne fonctionne pas lors de l'enregistrement d'une extraction par base de données pluggable. Pour identifier le SCN de début des dumps de dictionnaire disponibles pour une base de données pluggable spécifique, procédez comme suit :

  1. Connectez-vous à la base pluggable.

  2. Exécutez la commande show con_id pour obtenir l'identificateur de base de données pluggable.

  3. Exécutez la requête suivante pour répertorier tous les vidages de dictionnaire disponibles par ordre décroissant :

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

Utilisée seule, la valeur de numéro SCN correspond au numéro SCN de départ de l'opération de build de dictionnaire dans un fichier journal.

Utilisé avec SHARE AUTOMATIC ou SHARE extract_name, le SCN indiqué est le start_scn de la session de capture et est assujetti aux restrictions suivantes :

{SHARE [ AUTOMATIC | extract | NONE]}

Valide pour Oracle.

Inscrit l'extraction de façon à revenir à un build de dictionnaire de données LogMiner existant doté du numéro SCN indiqué, créant ainsi un clone. Cela permet de créer les extractions plus rapidement en utilisant les builds de dictionnaire existants.

SHARE ne peut pas être utilisé sur une base de données Conteneur.

Les commandes suivantes sont prises en charge :

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

Ou

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

En revanche, les commandes suivantes ne sont pas prises en charge dans une configuration en aval :

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

AUTOMATIC

Effectue le clonage à partir de la capture existante la plus proche. En l'absence de candidat au clonage adapté, un build est créé.

extract

Effectue le clonage à partir de la session de capture associée à l'extraction indiquée. Si ce n'est pas possible, une erreur survient et l'inscription n'aboutit pas.

NONE

N'effectue pas de clonage et ne crée pas de build. Il s'agit de la valeur par défaut.

Dans une configuration en aval, la clause SHARE doit être utilisée avec la clause SCN lors de l'inscription pour le traitement d'extraction.

PostgreSQL

Cette commande crée un emplacement de réplication dans la base de données source connectée et s'assure que la base de données PostgreSQL ne purge pas le journal de transactions tant que l'emplacement de réplication n'est pas déplacé ou enlevé. La commande REGISTER EXTRACT doit être exécutée avant la commande ADD EXTRACT.

Vous devez vous connecter à l'instance de base de données PostgreSQL à l'aide de DBLOGIN USERIDALIAS avant d'inscrire l'extraction.

Vous pouvez également enregistrer une extraction à partir de l'interface Web du service d'administration Oracle GoldenGate. Pour plus d'informations, reportez-vous à Inscription de l'extraction pour PostgreSQL dans la documentation sur les microservices Oracle GoldenGate.

Vous pouvez également configurer des options de transmission en continu pour PostgreSQL, à l'aide du paramètre TRANLOGOPTIONS STREAMINGOPTIONS, afin de fournir des paramètres lors du démarrage de la réplication. Pour en savoir plus, reportez-vous à TRANLOGOPTIONS.

Remarque : à partir de la version 21c (21.3) d'Oracle GoldenGate, il n'est pas obligatoire d'entrer database_name.

Syntaxe :

REGISTER EXTRACT group_name

ou

REGISTER EXTRACT group_name PGPLUGINTYPE pgoutput;

Remarque : pour vous inscrire explicitement auprès du module d'extension pgoutput, vous devez indiquer le type de module d'extension pgoutput dans la commande. Si vous ne sélectionnez pas le module d'extension pgoutput, le type de module d'extension par défaut, test_decoding, est défini.

ou

REGISTER EXTRACT group_name MIGRATE replication_slot_name

ou

REGISTER EXTRACT group_name with DATABASE database_name

ou

group_name

Nom du groupe d'extraction à inscrire. N'utilisez aucun caractère générique.

MIGRATE replication_slot_name

Valide pour PostgreSQL.

Dans le cas d'une mise à niveau d'Oracle GoldenGate, où le répertoire d'installation est différent pour les processus Extract, REGISTER EXTRACT avec l'option MIGRATE est requis.

replication_slot_name est le nom de tout emplacement de réplication existant présent dans la base de données. Cette commande crée un emplacement pour la réplication, en copiant les informations LSN présentes dans l'emplacement replication_slot_name. L'emplacement de réplication copié commence au même numéro de séquence de journal que l'emplacement d'origine.

Remarque : l'emplacement de réplication d'origine doit être présent dans la même base de données à partir de laquelle nous voulons créer un nouvel emplacement.

PGPLUGINTYPE test_decoding | pgoutput

Valide pour PostgreSQL.

Cette option a été ajoutée pour permettre la sélection du module d'extension de décodage logique pour PostgreSQL. Vous pouvez sélectionner test_decoding ou pgoutput. Par défaut, l'extraction CDC s'inscrit à l'aide du type de module d'extension test_decoding. Par conséquent, si vous n'indiquez pas pgplugintype comme pgoutput, test_decoding sera utilisé automatiquement.

Exemples


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

Le numéro SCN de départ du build de dictionnaire est 136589.


REGISTER EXTRACT exte DATABASE SCN 67000 SHARE extw

Numéro SCN de départ valide, 67000 dans ce cas ; il ne s'agit pas nécessairement du numéro SCN en cours.


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

Pour PostgreSQL avec le type de module d'extension indiqué comme PGOUTOPUT :

REGISTER EXTRACT exte PGPLUGINTYPE pgoutput WITH DATABASE hr