ADD SCHEMATRANDATA

Valide pour Oracle.

Utilisez ADD SCHEMATRANDATA afin d'activer la journalisation supplémentaire de niveaux schéma pour une table. ADD SCHEMATRANDATA agit sur toutes les tables actuelles et futures dans un schéma donné afin de journaliser automatiquement un surensemble de clés disponibles dont Oracle GoldenGate a besoin pour l'identification de ligne.

Remarque : Oracle GoldenGate 23.6 ne prend pas en charge l'activation de la réplication logique au niveau du schéma pour les vues de dualité relationnelle JSON (DV JSON) et les tables de collecte JSON (JCT).

Afin d'exécuter ADD SCHEMATRANDATA pour un schéma dans la PDB d'une base de données colocative, vous devez vous connecter à la PDB pour émettre la commande.

ADD SCHEMATRANDATA est valide pour l'extraction, et effectue les actions suivantes :

Par défaut, ADD SCHEMATRANDATA journalise les colonnes de clé d'une table dans l'ordre de priorité suivant :

  1. Clé primaire

  2. En l'absence de clé primaire, toutes les clés uniques de la table, y compris celles qui sont désactivées, inutilisables ou invisibles. Les clés uniques qui contiennent des colonnes de membre ADT sont également journalisées. Seules les clés uniques sur des colonnes virtuelles (index basés sur des fonctions) ne sont pas journalisées.

  3. Si aucune des clés précédentes n'existe, toutes les colonnes scalaires de la table sont journalisées. (Les ID d'objet de ligne générés par le système sont toujours journalisés.)

ADD SCHEMATRANDATA prend également en charge les exigences en matière de journalisation conditionnelle ou non conditionnelle dans le contexte de l'utilisation de l'outil de réplication intégrée.

Utilisez ADD SCHEMATRANDATA dans les cas suivants :

Exigences de journalisation au niveau de la base de données pour UsingADD SCHEMATRANDATA

Oracle vous encourage vivement à mettre la base de données source en mode de journalisation forcée et à activer la journalisation supplémentaire minimale au niveau de la base de données lorsque vous utilisez Oracle GoldenGate. Ainsi, les informations de chaînage de lignes sont ajoutées, le cas échéant, au fichier de journalisation pour les opérations de mise à jour.

Remarques supplémentaires concernant UsingADD SCHEMATRANDATA

Syntaxe

ADD SCHEMATRANDATA schema
{
[ALLOWNONVALIDATEDKEYS]
[NOSCHEDULINGCOLS | ALLCOLS]}
[NOVALIDATE]
[PARTIALJSON]
[PREPARECSN  {WAIT | LOCK | NOWAIT | NONE}]

schema

Schéma pour lequel journaliser les informations de clé supplémentaires. N'utilisez aucun caractère générique. Afin d'émettre ADD SCHEMATRANDATA pour des schémas se trouvant dans plusieurs bases de données pluggables d'une même base de données Conteneur colocative, connectez-Vous séparément à chaque base de données pluggable à l'aide de DBLOGIN, puis émettez ADD SCHEMATRANDATA. A partir du conteneur racine, vous pouvez émettre la commande avec le préfixe du conteneur ADD SCHEMATRANDATA [pdb_name].schema

Si vous exécutez la commande à partir de cdb$root, assurez-vous également de définir le privilège utilisateur suivant du côté de la base de données :

ALTER USER userID SET CONTAINER_DATA = ALL  CONTAINER = CURRENT;

ALLOWNONVALIDATEDKEYS

Elle inclut les clés primaires NON VALIDATED et NOT VALID dans la journalisation supplémentaire. Ces clés remplacent les critères de sélection de clé habituels employés par Oracle GoldenGate. Si le paramètre GLOBALS ALLOWNONVALIDATEDKEYS est utilisé, ADD SCHEMATRANDATA est exécuté avec ALLOWNONVALIDATEDKEYS, qu'il soit spécifié ou non. Par défaut, ces clés primaires NON VALIDATED et NOT VALID ne sont pas journalisées. Voir le paramètre GLOBALS de ALLOWNONVALIDATEDKEYS.

NOSCHEDULINGCOLS | ALLCOLS

Ces options contrôlent la journalisation supplémentaire d'une base de données cible Oracle. Vous pouvez les utiliser ensemble, même si cette dernière option est employée. Par exemple, avec la commande ADD SCHEMATRANDATA oggadm_ext ALLCOL NOSCHEDULINGCOLS, l'option NOSCHEDULINGCOLS serait utilisée.

NOSCHEDULINGCOLS

Désactive la journalisation des colonnes de programmation. Par défaut, ADD SCHEMATRANDATA active la journalisation non conditionelle de la clé primaire et la journalisation supplémentaire conditionnelle de toutes les clés uniques et étrangères de l'ensemble des tables actuelles et futures dans le schéma donné. La journalisation non conditionnelle force les valeurs de clé primaire vers le journal, que la clé ait été modifiée ou non lors de l'opération en cours. La journalisation conditionnelle journalise toutes les valeurs de colonne d'une clé étrangère ou unique si au moins l'une d'elles a été modifiée lors de l'opération en cours. La clé primaire, les clés uniques et les clés étrangères de réplication intégrée doivent toutes être disponibles afin que le serveur entrant puisse calculer les dépendances.

Si vous activez auto_capture, n'utilisez pas cette option. Les tables de ce schéma pourront ainsi être capturées automatiquement, sauf si la table est explicitement exclue/désactivée pour une réplication (par exemple, via TABLEEXCLUDE, DELETE TRANDATA ou ALTER TABLE DISABLE LOGICAL REPLICATION DDL).

ALLCOLS

Active la journalisation supplémentaire non conditionnelle de toutes les colonnes de clé et non clé prises en charge pour l'ensemble des tables actuelles et futures dans le schéma donné. Cette option active la journalisation des clés nécessaires au calcul des dépendances, ainsi que des colonnes requises pour le filtrage, la résolution de conflit ou à d'autres fins. Les colonnes comme LOB, LONG et ADT ne sont pas incluses.

NOVALIDATE

Valide pour toutes les bases de données prises en charge par ADD SCHEMATRANDATA.

Supprime les informations supplémentaires concernant la table en cours de traitement par ADD SCHEMATRANDATA. Par défaut, cette option est activée. Le traitement des informations supplémentaires génère un délai de réponse de la commande. Cette option peut donc être utilisée pour augmenter le temps de réponse.

PARTIALJSON

Valide pour Oracle.

Extrait les mises à jour JSON partielles au niveau du schéma. En cas d'activation, l'enregistrement redo inclura les enregistrements JSON partiels.

Voir également le paramètre TRANLOGOPTIONS FETCHPARTIALJSON.

PREPARECSN {WAIT | LOCK | NOWAIT | NONE}

Valide pour Oracle (DML et DDL).

Prépare automatiquement les tables au niveau de la source afin que le fichier dump d'export Oracle Data Pump inclue les numéros CSN d'instanciation. La réplication utilise le CSN d'instanciation par table défini par Oracle Data Pump (lors de l'import) pour retirer par filtrage les enregistrements de trace. Sur la cible, l'import Data Pompe remplit la table et la vue système avec des noms SCN d'instanciation à l'aide du paramètre DBOPTIONS ENABLE_INSTANTIATION_FILTERING afin d'activer le filtrage d'instanciation de niveau table.

WAIT

Attend les transactions en attente de traitement et prépare l'instanciation de table.

LOCK

Verrouille la table (pour préparer l'instanciation de table).

NOWAIT

Comportement par défaut. La préparation à l'instanciation est effectuée immédiatement.

NONE

Aucune préparation à l'instanciation n'est effectuée.

Exemple


L'exemple suivant active l'historique supplémentaire pour le schéma hr.

ADD SCHEMATRANDATA hr

L'exemple suivant journalise toutes les colonnes de clé et non clé prises en charge pour l'ensemble de tables actuelles et futures dans le schéma nommé hr.

ADD SCHEMATRANDATA hr ALLCOLS

L'exemple suivant supprime le traitement des informations de table supplémentaires.

ADD SCHEMATRANDATA hr NOVALIDATE