DDL
Durée de validité
Extraction et réplication
Remarque : la réplication DDL est uniquement prise en charge entre les bases de données Oracle et Oracle et entre les bases de données MySQL et MySQL.
Description
Utilisez le paramètre DDL pour :
-
activer la prise en charge de
DDL -
filtrer les opérations
DDL -
configurer une action de traitement basée sur un enregistrement
DDL
Lorsqu'il est utilisé sans options, le paramètre DDL n'effectue aucun filtrage et toutes les opérations DDL sont propagées comme suit :
-
En tant que paramètre d'extraction, il capture toutes les opérations
DDLprises en charge qui sont générées sur tous les objets de base de données pris en charge et les envoie vers la trace. -
En tant que paramètre de réplication, il réplique toutes les opérations
DDLà partir de la trace Oracle GoldenGate et les applique à la cible. Il s'agit du comportement par défaut sans ce paramètre.
Lorsqu'il est utilisé avec des options, le paramètre DDL agit en tant qu'agent de filtrage pour inclure ou exclure les opérations DDL en fonction des éléments suivants :
-
portée
-
type d'objet
-
type d'opération
-
nom de l'objet
-
chaînes dans la syntaxe ou les commentaires de la commande
DDL, ou les deux
Un seul paramètre DDL peut être utilisé dans un fichier de paramètres, mais vous pouvez combiner plusieurs options d'inclusion et d'exclusion pour filtrer DDL au niveau requis.
-
Les options de filtrage du paramètre
DDLsont valides pour une extraction principale capturée à partir de la source de transaction, mais pas pour une extraction Data Pump. -
Lorsqu'elles sont combinées, plusieurs spécifications d'option de filtre sont liées logiquement en tant qu'instructions
AND. -
Tous les critères de filtre spécifiés avec plusieurs options doivent être satisfaits pour qu'une instruction
DDLsoit répliquée. -
Lorsque vous utilisez des critères de filtrage complexes dans une instruction de paramètre
DDL, il est recommandé de tester votre configuration dans un environnement de test avant de l'utiliser en production. -
Pour plus d'informations, reportez-vous à l'Example 1, "Example".
Remarque : n'utilisez pas le paramètre DDL pour une pompe de données Extract. Ces types de processus n'autorisent pas la mise en correspondance ou la conversion de DDL et propagent automatiquement les enregistrements DDL en mode de transmission. Le fichier DDL exécuté sur une table source (par exemple, ALTER TABLE TableA...) sera appliqué par le processus Replicat avec le même nom de table (ALTER TABLE TableA). Il ne peut pas être mis en correspondance avec ALTER TABLE TableB.
Pour plus d'informations sur l'utilisation de la prise en charge d'Oracle GoldenGate DDL, reportez-vous à Oracle : réplication DDL et à MySQL : réplication DDL dans la documentation sur les microservices Oracle GoldenGate.
Syntaxe
DDL [
{AUTOSCHEMA}
{INCLUDE | EXCLUDE}
[, ALLOWEMPTYOBJECT]
[, ALLOWEMPTYOWNER]
[, MAPPED | UNMAPPED | OTHER | ALL]
[, OPTYPE <type>]
[, OBJTYPE '<type>']
[, OBJNAME <name>]
[, INSTR '<string>']
[, INSTRWORDS '<word_list>']
[, INSTRCOMMENTS '<comment_string>']
[, INSTRCOMMENTSWORDS '<word_list>']
[, SOURCECATALOG <catalog> | ALLCATALOGS]
[, STAYMETADATA]
[, EVENTACTIONS (<action>)]
]
[...]
AUTOSCHEMA
Valide pour la réplication dans MySQL vers Oracle, Oracle vers MySQL et MySQL vers MySQL pour la réplication de données.
L'option de paramètre DDL AUTOSCHEMA permet d'activer la fonctionnalité d'évolution automatique de schéma. Par défaut, cette option est désactivée.
Syntaxe
DDL AUTOSCHEMA
Seules les opérations LDD MAPPED sont pertinentes pour l'évolution automatique des schémas. Par conséquent, les noms d'objet indiqués dans le cadre de la clause OBJNAME dans les critères d'inclusion/exclusion doivent correspondre aux noms de table cible (et non aux noms de table source).
Lorsque vous utilisez OBJNAME avec MAPPED dans un fichier de paramètres de réplication, la valeur de OBJNAME doit faire référence au nom indiqué avec la clause TARGET de l'instruction MAP.
Pour plus d'informations, reportez-vous à Utilisation de l'évolution automatique des schémas.
INCLUDE | EXCLUDE
DDL Options de filtrage
Les options de syntaxe suivantes permettent de filtrer et d'utiliser le fichier DDL répliqué par Oracle GoldenGate. Ces options s'appliquent aux clauses INCLUDE et EXCLUDE du paramètre DDL et aux autres paramètres qui prennent en charge la réplication DDL.
Utilisez INCLUDE ou EXCLUDE pour identifier le début d'une clause d'inclusion ou d'exclusion.
-
Une clause d'inclusion contient des critères de filtrage qui identifient l'élément
DDLconcerné par ce paramètre. -
Une clause d'exclusion contient des critères de filtrage qui excluent
DDLspécifique de ce paramètre.
La clause d'inclusion ou d'exclusion doit être composée du mot-clé INCLUDE ou EXCLUDE suivi de toute combinaison valide des autres options de filtrage du paramètre DDL.
Si vous utilisez EXCLUDE, vous devez créer une clause INCLUDE correspondante. Par exemple, les éléments suivants ne sont pas valides :
DDL EXCLUDE OBJNAME "hr".*
Toutefois, vous pouvez utiliser l'une des méthodes suivantes :
DDL INCLUDE ALL, EXCLUDE OBJNAME "hr"."*"
DDL INCLUDE OBJNAME fin.* EXCLUDE OBJNAME "fin.ss"
Une valeur EXCLUDE est prioritaire sur toute valeur INCLUDEs qui contient les mêmes critères. Vous pouvez utiliser plusieurs clauses d'inclusion et d'exclusion.
N'incluez aucun objet DDL installé par Oracle GoldenGate dans un paramètre DDL, dans un paramètre TABLE ou dans un paramètre MAP, ni dans un paramètre TABLEEXCLUDE ou MAPEXCLUDE. Assurez-vous que les spécifications avec caractères génériques dans ces paramètres n'incluent pas les objets DDL installés par Oracle GoldenGate. Ces objets ne doivent pas faire partie de la configuration Oracle GoldenGate, mais le processus d'extraction doit connaître les opérations sur ces objets. C'est pourquoi vous ne devez pas les exclure explicitement de la configuration avec une instruction de paramètre EXCLUDE, TABLEEXCLUDE ou MAPEXCLUDE.
ALLOWEMPTYOBJECT
Utilisez ALLOWEMPTYOBJECT pour autoriser une spécification OBJNAME à traiter DDL qui ne contient aucun nom d'objet. Exemple :
DDL INCLUDE OBJNAME sch.* ALLOWEMPTYOBJECT
ALLOWEMPTYOWNER
Utilisez ALLOWEMPTYOWNER pour autoriser une spécification OBJNAME à traiter DDL qui ne contient aucun nom de propriétaire. Exemple :
DDL INCLUDE OBJNAME pdb.sch.* ALLOWEMPTYOWNER
EVENTACTIONS (action)
Entraîne le processus d'extraction ou de réplication à effectuer une action définie en fonction d'un enregistrement DDL dans le journal ou la trace de transaction, appelé enregistrement d'événement. L'événement DDL est déclenché si l'enregistrement DDL peut être écrit dans la trace par l'extraction ou une pompe de données, ou exécuté par le processus Replicat, comme déterminé par les autres options de filtrage du paramètre DDL. Vous pouvez utiliser ce système pour personnaliser le traitement en fonction des événements de base de données.
Pour <action>, reportez-vous à EVENTACTIONS sous les paramètres MAP et TABLE.
Lignes directrices pour l'utilisation de EVENTACTIONS sur les enregistrements DDL :
-
CHECKPOINTBEFORE: chaque enregistrementDDLétant autonome, l'enregistrementDDLest garanti comme étant le début d'une transaction. Par conséquent, l'action d'événementCHECKPOINT BEFOREest impliquée pour un enregistrementDDL. -
IGNORE: cette option n'est pas valide pour les enregistrementsDDL. Les opérationsDDLétant autonomes, ignorer un enregistrement équivaut à ignorer l'intégralité de la transaction.
EVENTACTIONS ne prend pas en charge les objets DDL suivants car il s'agit d'objets dérivés :
-
index
-
déclencheurs
-
synonymes
-
RENAMEsur une table etALTER TABLE RENAME
MAPPED | UNMAPPED | OTHER | ALL
Utilisez MAPPED, UNMAPPED, OTHER et ALL pour appliquer INCLUDE ou EXCLUDE en fonction de la portée de l'opération DDL.
-
MAPPEDapplique les opérationsINCLUDEouEXCLUDEaux opérationsDDLdont la portée estMAPPED. Le filtrageMAPPEDest effectué avant le filtrage spécifié avec d'autres options de paramètreDDL. -
UNMAPPEDapplique la valeurINCLUDEouEXCLUDEaux opérationsDDLdont la portée estUNMAPPED. -
OTHERapplique les opérationsINCLUDEouEXCLUDEaux opérationsDDLdont la portée estOTHER. -
ALLapplique les opérationsINCLUDEouEXCLUDEaux opérationsDDLde toutes les portées.
DDL EXCLUDE ALL est une option de traitement spéciale qui gère les métadonnées d'objet à jour pour Oracle GoldenGate, tout en bloquant la réplication des opérations DDL elles-mêmes. Vous pouvez utiliser DDL EXCLUDE ALL lorsque vous utilisez une méthode autre qu'Oracle GoldenGate pour appliquer DDL à la cible, mais que vous voulez qu'Oracle GoldenGate réplique les modifications de données vers les objets cible. Il fournit les métadonnées en cours à Oracle GoldenGate au fur et à mesure que les objets changent, ce qui évite d'avoir à arrêter et à démarrer les processus Oracle GoldenGate. Les conditions particulières suivantes s'appliquent à DDL EXCLUDE ALL :
-
DDL EXCLUDE ALLne nécessite pas l'utilisation d'une clauseINCLUDE. -
Lorsque vous utilisez
DDL EXCLUDE ALL, vous pouvez définir le paramètreWILDCARDRESOLVEsurIMMEDIATEpour autoriser une résolutionDMLimmédiate si nécessaire.
OBJNAME name
Utilisez OBJNAME pour appliquer INCLUDE ou EXCLUDE au nom qualifié complet d'un objet. Pour spécifier correctement des noms d'objet et des caractères génériques en deux ou trois parties, reportez-vous à Utilisation de caractères génériques dans les arguments de commande.
Placez les noms d'objet sensibles à la casse entre guillemets.
Exemple sans distinction majuscules/minuscules :
DDL INCLUDE OBJNAME accounts.*
Exemple sensible à la casse :
DDL INCLUDE OBJNAME accounts."cust"
N'utilisez pas OBJNAME pour l'objet Oracle USER, car OBJNAME attend <owner.object> ou <container.owner.object>, tandis que USER n'a qu'un schéma.
Lorsque vous utilisez OBJNAME avec MAPPED dans un fichier de paramètres de réplication, la valeur de OBJNAME doit faire référence au nom indiqué avec la clause TARGET de l'instruction MAP. Par exemple, étant donné l'instruction MAP suivante, la valeur correcte est OBJNAME fin2.*.
MAP fin.exp_*, TARGET fin2.*;
Dans l'exemple suivant, une instruction CREATE TABLE s'exécute comme suit sur <source> :
CREATE TABLE fin.exp_phone;
La même instruction s'exécute comme suit sur la cible :
CREATE TABLE fin2.exp_phone;
Si aucun propriétaire de cible n'est indiqué dans l'instruction MAP, le processus de réplication le met en correspondance avec l'utilisateur de base de données indiqué avec le paramètre USERIDALIAS.
Pour DDL qui crée des objets dérivés, tels qu'un déclencheur, la valeur de OBJNAME doit être le nom de l'objet de base et non le nom de l'objet dérivé.
Par exemple, pour inclure l'instruction DDL suivante, la valeur correcte est hr.accounts, et non hr.insert_trig.
CREATE TRIGGER hr.insert_trig ON hr.accounts;
Pour les opérations RENAME, la valeur de OBJNAME doit être le nom de la nouvelle table. Par exemple, pour inclure l'instruction DDL suivante, la valeur correcte est hr.acct.
ALTER TABLE hr.accounts RENAME TO acct;
OBJTYPE <type>
Utilisez OBJTYPE pour appliquer INCLUDE ou EXCLUDE à un type spécifique d'objet de base de données. Pour <type>, utilisez tout type d'objet valide pour la base de données, tel que TABLE, INDEX et TRIGGER. Pour un journal de vues matérialisées Oracle et un journal de vues matérialisées, les types corrects sont respectivement snapshot et snapshot log. Placez le nom du type d'objet entre apostrophes. Exemple :
DDL INCLUDE OBJTYPE 'INDEX'
DDL INCLUDE OBJTYPE 'SNAPSHOT'
Pour le type d'objet Oracle USER, n'utilisez pas l'option OBJNAME, car OBJNAME attend owner.object ou <container.owner.object> alors que USER n'a qu'un schéma.
OPTYPE <type>
Utilisez OPTYPE pour appliquer INCLUDE ou EXCLUDE à un type spécifique d'opération DDL, tel que CREATE, ALTER et RENAME. Pour <type>, utilisez toute commande DDL valide pour la base de données. Par exemple, pour inclure les opérations ALTER, la syntaxe correcte est la suivante :
DDL INCLUDE OPTYPE ALTER
INSTR string
Utilisez INSTR pour appliquer INCLUDE ou EXCLUDE aux instructions DDL qui contiennent une chaîne de caractères spécifique dans la syntaxe de commande elle-même, mais pas dans les commentaires. Par exemple, l'élément suivant exclut DDL qui crée un index.
DDL INCLUDE ALL EXCLUDE INSTR 'CREATE INDEX'
Placez la chaîne entre apostrophes. La recherche de chaîne ne distingue pas les majuscules des minuscules.
INSTR ne prend pas en charge les apostrophes (' ') qui se trouvent dans la chaîne, ni les valeurs NULL.
INSTRCOMMENTS comment_string
(Valide pour Oracle) Utilisez INSTRCOMMENTS pour appliquer les instructions INCLUDE ou EXCLUDE aux instructions DDL qui contiennent une chaîne de caractères spécifique dans un commentaire, mais pas dans la commande DDL elle-même. En utilisant INSTRCOMMENTS, vous pouvez utiliser des commentaires en tant qu'agent de filtrage.
Par exemple, les instructions DDL qui incluent la chaîne 'source only' dans les commentaires sont exclues.
DDL INCLUDE ALL EXCLUDE INSTRCOMMENTS 'SOURCE ONLY'
Dans cet exemple, les instructions DDL telles que les suivantes ne sont pas répliquées.
CREATE USER john IDENTIFIED BY john /<source only>/;
Placez la chaîne entre apostrophes. La recherche de chaîne ne distingue pas les majuscules des minuscules. Vous pouvez combiner INSTR et INSTRCOMMENTS pour filtrer sur une chaîne dans la syntaxe de commande et dans les commentaires de la même instruction DDL.
INSTRCOMMENTS ne prend pas en charge les apostrophes (' ') qui se trouvent dans la chaîne, ni les valeurs NULL.
INSTRWORDS word_list
Utilisez INSTRWORDS pour appliquer INCLUDE ou EXCLUDE aux instructions DDL qui contiennent les mots indiqués.
Pour <word_list>, indiquez les mots dans n'importe quel ordre, entre apostrophes. Pour inclure des espaces, placez l'espace (et le mot, le cas échéant) entre guillemets doubles. Les guillemets peuvent également être utilisés pour encadrer des phrases.
Tous les mots spécifiés doivent être présents dans DDL pour que INSTRWORDS prenne effet.
Exemple :
DDL INCLUDE OPTYPE ALTER OBJTEYP 'TABLE' INSTRWORDS 'ALTER CONSTRAINT " xyz"'
Cet exemple correspond aux instructions DDL suivantes :
ALTER TABLE ADD CONSTRAINT xyz CHECK
ALTER TABLE DROP CONSTRAINT xyz
INSTRWORDS ne prend pas en charge les apostrophes (' ') qui se trouvent dans la chaîne, ni les valeurs NULL.
INSTRCOMMENTSWORDS word_list
(Valide pour Oracle) Fonctionne de la même manière que INSTRWORDS, mais s'applique uniquement aux commentaires au sein d'une instruction DDL, et non à la syntaxe DDL elle-même. En utilisant INSTRCOMMENTS, vous pouvez utiliser des commentaires en tant qu'agent de filtrage.
INSTRCOMMENTSWORDS ne prend pas en charge les apostrophes (' ') qui se trouvent dans la chaîne, ni les valeurs NULL.
Vous pouvez combiner INSTRWORDS et INSTRCOMMENTSWORDS pour filtrer sur une chaîne dans la syntaxe de commande et dans les commentaires de la même instruction DDL.
SOURCECATALOG catalog | ALLCATALOGS
Utilisez ces options pour indiquer comment les noms d'objet non qualifiés dans une clause OBJNAME sont résolus dans le conteneur approprié. Utilisez ces options lorsque la base de données source est une base de données Conteneur Oracle.
SOURCECATALOG indique un conteneur par défaut pour tous les noms d'objet indiqués dans la même clause INCLUDE ou EXCLUDE. Pour prendre effet, SOURCECATALOG doit être spécifié avant la spécification OBJNAME. Reportez-vous à "SOURCECATALOG" pour plus d'informations, notamment sur l'utilisation d'instructions contenant des noms en deux parties, où les noms d'objet en trois parties sont requis pour identifier complètement un objet.
ALLCATALOGS indique que tous les conteneurs de la base de données doivent être pris en compte lors de la résolution des noms d'objet indiqués dans la même clause INCLUDE ou EXCLUDE. ALLCATALOGS peut être placé avant ou après la spécification OBJNAME.
L'ordre de priorité suivant est donné lorsqu'un fichier de paramètres contient des spécifications de catalogue différentes :
-
ALLCATALOGSdans une clauseINCLUDEouEXCLUDEremplace toutes les spécificationsSOURCECATALOGdans la clauseINCLUDEouEXCLUDEet à la racine du fichier de paramètres, et remplace la spécification de conteneur d'un nom d'objet qualifié complet dans la clauseOBJNAME. -
Une spécification de catalogue explicite dans la clause
OBJNAMEremplace toutes les instances deSOURCECATALOG(mais pasALLCATALOGS). -
Dans une clause
INCLUDEouEXCLUDE,SOURCECATALOGremplace le paramètreSOURCECATALOGglobal indiqué à la racine de l'instructionTABLEouMAP. -
Le paramètre global
SOURCECATALOGprend effet pour les noms d'objet non qualifiés dans les clausesOBJNAMEsi la clauseINCLUDEouEXCLUDEne spécifie pasSOURCECATALOGouALLCATALOGS. -
En l'absence d'un des paramètres précédents, tous les catalogues sont pris en compte.
STAYMETADATA
(Valide pour Oracle). Empêche la capture des métadonnées par le processus Extract ou leur application par le processus Replicat.
Lorsque le processus Extract rencontre pour la première fois DML sur une table, il extrait les métadonnées de cette table. Lorsque DDL est détecté sur cette table, les anciennes métadonnées sont invalidées. Le fichier DML suivant sur cette table est mis en correspondance avec les nouvelles métadonnées afin que la structure de la table cible soit toujours à jour avec celle de la source.
Toutefois, si vous savez qu'une opération DDL particulière n'affectera pas les métadonnées de la table, vous pouvez utiliser STAYMETADATA afin que les métadonnées en cours ne soient pas extraites ou répliquées. Il s'agit d'une amélioration des performances qui présente des avantages pour des opérations telles que les importations et les exportations, où DDL est tronqué et où la désactivation des contraintes est souvent effectuée. Ces opérations n'affectent pas la structure des tables, car elles concernent l'intégrité de la réplication de données ultérieure. Elles peuvent donc être ignorées dans ce cas. Par exemple, ALTER TABLE ADD FOREIGN KEY n'affecte pas les métadonnées de table.
Voici un exemple d'application sélective :
DDL INCLUDE ALL INCLUDE STAYMETADATA OBJNAME xyz
Cet exemple indique que tous les éléments DDL doivent être inclus pour la réplication, mais seul les éléments DDL qui opèrent sur l'objet xyz seront soumis à STAYMETADATA.
STAYMETADATA peut également être utilisé de la même manière dans une clause EXCLUDE.
STAYMETADATA doit être utilisé de la même manière sur la source et la cible pour garantir l'intégrité des métadonnées.
Lorsque STAYMETADATA est utilisé, un message est ajouté au fichier de rapport. La génération de rapports DDL est contrôlée par le paramètre DDLOPTIONS avec l'option REPORT.
Cette même fonctionnalité peut être appliquée globalement à tous les éléments DDL qui se produisent sur la source à l'aide des scripts @ddl_staymetadata :
-
@ddl_staymetadata_ondésactive globalement la gestion des versions de métadonnées. -
@ddl_staymetadata_offactive à nouveau la gestion des versions de métadonnées de manière globale.
Cette option doit être utilisée avec l'aide du personnel de support technique Oracle GoldenGate, car il n'est pas toujours évident que DDL affecte les métadonnées d'objet. Si elle n'est pas utilisée correctement, elle peut compromettre l'intégrité de l'environnement de réplication.
Exemples
Voici quelques exemples de cas d'utilisation différents :
Exemple 1 : utilisation de DDL AUTOSCHEMA
-
Exemple A :
Pour activer
AUTOSCHEMAsur toutes les tables du schéma sourceatssrcet du schéma cibleatstgt, procédez comme suit :DDL AUTOSCHEMA INCLUDE ALL MAP atssrc.*, TARGET atstgt.*; -
Exemple B :
Le filtrage (similaire à celui de l'exemple 1) peut également être activé en fonction des types de DDL, à l'aide de la clause DDL AUTOSCHEMA INCLUDE/EXCLUDE OPTYPE.
Par exemple, pour activer AUTOSCHEMA pour le schéma hr mais exclure le schéma finance, utilisez le script suivant :
DDL AUTOSCHEMA &
INCLUDE OBJNAME hr.* &
EXCLUDE OBJNAME finance.*
MAP hr.*, TARGET hr.*;
MAP finance.*, TARGET finance.*;
-
Exemple C :
Afin d'activer
AUTOSCHEMApour toutes les tables et d'utiliser un élémentTYPEMAPpersonnalisé pour utiliser un élémentbigintsur la table cible pour toutes les colonnes de typeintsource applicables à toutes les tables.DDL AUTOSCHEMA INCLUDE ALL AUTOSCHEMAOPTIONS TYPEMAP 'int'= 'bigint' MAP atssrc.*, TARGET atstgt.tgt_* -
Exemple D :
Afin d'activer
AUTOSCHEMApour toutes les tables et d'utiliser un élémentTYPEMAPpersonnalisé pour utiliser un élémentbigintsur la table cible pour toutes les colonnes de typeintsource applicables à toutes les tables, mais pour utilisersmallintcomme type de colonne cible pour le type de colonne sourceint, saisissez toutes les tables sous le schéma financier.DDL AUTOSCHEMA INCLUDE ALL AUTOSCHEMAOPTIONS TYPEMAP 'int'= 'bigint' MAP hr.*, TARGET hr.*; MAP finance.*, TARGET finance.*, AUTOSCHEMAOPTIONS (TYPEMAP 'smallint'='bigint');<–>
Exemple 2 : combinaison des options de paramètre DDL
Voici un exemple de combinaison des options du paramètre DDL.
DDL &
INCLUDE UNMAPPED &
OPTYPE alter &
OBJTYPE 'table' &
OBJNAME users.tab* &
INCLUDE MAPPED OBJNAME * &
EXCLUDE MAPPED OBJNAME temporary.tab
Les critères de filtre combinés de cette instruction spécifient les éléments suivants :
-
INCLUDEtoutes les instructionsALTER TABLEpour les tables qui ne sont pas mises en correspondance avec une instructionTABLEouMAP(portéeUNMAPPED), mais uniquement si ces tables appartiennent àuserset que leur nom commence partab, -
INCLUDEtous les types d'opérationDDLpour toutes les tables mises en correspondance avec une instructionTABLEouMAP(portéeMAPPED), -
EXCLUDEtous les types d'opérationDDLpour toutes les tables dont la portée estMAPPED, mais uniquement si ces tables appartiennent àtemporaryet uniquement si leur nom commence partab.
Exemple 3 : inclure une action d'événement
L'exemple suivant indique une action d'événement de REPORT pour tous les enregistrements DDL.
DDL INCLUDE ALL EVENTACTIONS (REPORT)
Exemple 4 : utilisation d'une action d'événement sur un sous-ensemble de DDL
L'exemple suivant montre comment EVENTACTIONS peut être utilisé sur un sous-ensemble de DDL. Tous les éléments DDL doivent être répliqués, mais seul l'élément DDL exécuté sur des objets explicitement nommés peut déclencher les actions d'événement REPORT et LOG.
DDL INCLUDE ALL &
INCLUDE OBJNAME sales.t* EVENTACTIONS (REPORT) &
INCLUDE OBJNAME fin.my_tab EVENTACTIONS (LOG INFO)
Exemple 5 : différentes façons d'indiquer les noms <catalog> pour DDL émis sur les objets d'une base de données Conteneur Oracle <source>
L'exemple suivant illustre les différentes façons d'indiquer les noms de catalogue pour DDL émis sur les objets d'une base de données Conteneur Oracle source.
- Les éléments suivants incluent
pdb1.sch1.obj1etpdb2.sch2.obj2pour le traitementDDL.
SOURCECATALOG pdb1
DDL INCLUDE OBJNAME sch1.obj1 INCLUDE SOURCECATALOG pdb2 OBJNAME sch2.obj2
- Les éléments suivants incluent tous les objets portant le nom
sch.objdans n'importe quel catalogue pour le traitementDDL.
DDL INCLUDE ALLCATALOGS OBJNAME sch.obj
- Les éléments suivants incluent tous les objets portant le nom
sch.objdans n'importe quel catalogue pour le traitementDDL, carALLCATALOGSremplace toute autre spécification de catalogue.
DDL INCLUDE ALLCATALOGS OBJNAME pdb.sch.obj
Exemple 6 : affiche l'utilisation combinée de ALLOWEMPTYOBJECT et ALLOWEMPTYOWNER
L'exemple suivant illustre l'utilisation combinée de ALLOWEMPTYOBJECT et ALLOWEMPTYOWNER.
DDL INCLUDE pdb.*.* ALLOWEMPTYOWNER ALLOWEMPTYOBJECT