Utilisation de caractères génériques dans les noms d'objet de base de donnée

Vous pouvez utiliser des caractères génériques pour n'importe quelle partie d'un nom d'objet qualifié complet, si cela est pris en charge pour une base de données spécifique. Ces parties de nom peuvent être les suivantes : nom du conteneur, de la base de données ou du catalogue, propriétaire (nom du schéma ou de la base de données) et nom de la table ou de la séquence. Pour plus d'informations sur la prise en charge des noms d'objet et des caractères génériques, reportez-vous au guide d'installation et de configuration d'Oracle GoldenGate pour cette base de données.

Le cas échéant, les paramètres Oracle GoldenGate permettent d'utiliser deux types de caractère générique pour indiquer plusieurs objets dans une instruction :

Règles d'utilisation des caractères génériques pour les objets source

Pour les objets source, vous pouvez utiliser l'astérisque seul ou avec un nom partiel. Par exemple, les spécifications source suivantes sont valides :

Les paramètres TABLE, MAP et SEQUENCE prennent en compte la sensibilité à la casse et les paramètres régionaux de la base de données pour la résolution des caractères génériques. Pour les bases de données créées en respectant la casse ou la casse, le caractère générique correspond au nom exact et à la casse. Par exemple, si la base de données est sensible à la casse, SCHEMA.TABLE est mis en correspondance avec SCHEMA.TABLE, Schema.Table est mis en correspondance avec Schema.Table, etc. Si la base de données ne respecte pas la casse, la mise en correspondance n'est pas sensible à la casse.

Pour les bases de données qui peuvent avoir des noms d'objet sensibles à la casse et non sensibles à la casse dans la même instance de base de données, avec l'utilisation de guillemets pour appliquer la distinction entre les majuscules et les minuscules, le caractère générique fonctionne différemment. Lorsqu'il est utilisé seul pour un nom source dans une instruction TABLE, un caractère générique astérisque correspond à n'importe quel caractère, que l'astérisque soit placé entre guillemets ou non. Les instructions suivantes produisent les mêmes résultats :

TABLE hr.*;
TABLE hr."*";

De même, un caractère générique de point d'interrogation utilisé seul correspond à n'importe quel caractère unique, qu'il soit entre guillemets ou non. Les résultats suivants sont identiques :

TABLE hr.?;
TABLE hr."?";

Si un point d'interrogation ou un caractère générique astérisque est utilisé avec d'autres caractères, la distinction majuscules/minuscules est appliquée aux caractères non génériques, mais le caractère générique correspond à la fois aux noms sensibles à la casse et aux noms non sensibles à la casse.

TABLE hr."abc*";
TABLE hr."abc?";
TABLE hr.abc*;
TABLE hr.abc?;

Règles d'utilisation des caractères génériques pour les objets cible

Lorsque vous utilisez des caractères génériques dans la clause TARGET d'une instruction MAP, les objets cible doivent exister dans la base de données cible. (L'exception est le moment où la réplication LDD est utilisée, ce qui permet de répliquer les nouveaux schémas et leurs objets lors de leur création.)

Pour les objets cible, seul un astérisque peut être utilisé. Si un astérisque générique est utilisé avec un nom partiel, le processus Replicat remplace le caractère générique par le nom complet de l'objet source correspondant. Par conséquent, les spécifications suivantes sont incorrectes :

HQ.T

Les mappings précédents produisent des résultats incorrects, car le caractère générique de la spécification cible est remplacé par T_TEST (nom d'un objet source), ce qui rend le nom de cible entier T_T_TESTn. Les résultats suivants sont incorrects :

Les exemples suivants montrent l'utilisation correcte de caractères génériques d'astérisque.

MAP HQ.T_*, TARGET RPT.*;

L'exemple précédent donne le résultat correct suivant :

Mappage de nom de restauration

Oracle GoldenGate dispose d'un mécanisme de mise en correspondance de secours si un nom de source ne peut pas être mis en correspondance avec un nom de cible. Si aucune correspondance exacte n'est trouvée sur la cible pour un objet source sensible à la casse, le processus de réplication tente de mettre en correspondance le nom de la source avec le même nom en majuscules ou en minuscules (selon le type de base de données) sur la cible. Le mappage des noms de secours est contrôlé par les paramètres NAMEMATCH. Pour plus d'informations, reportez-vous à Référence des paramètres et des fonctions pour Oracle GoldenGate.

Astérisques ou marques de question en tant que littéraux dans les noms d'objet

Si le nom d'un objet inclut lui-même un astérisque ou un point d'interrogation, le nom entier doit être échappé et placé entre guillemets, comme dans l'exemple suivant :

TABLE HT."\?ABC";

Mode de résolution des caractères génériques

Par défaut, lorsqu'un nom d'objet est composé de caractères génériques, la résolution de cet objet se produit lorsque la première ligne de l'objet source est traitée. (En revanche, lorsque le nom d'un objet est explicitement indiqué, sa résolution se produit au démarrage du processus.) Pour modifier les règles de résolution des caractères génériques, utilisez le paramètre WILDCARDRESOLVE. La valeur par défaut est DYNAMIC.

Exclure des objets d'une spécification avec caractère générique

Vous pouvez combiner l'utilisation de la sélection d'objets avec une exclusion d'objet explicite en utilisant les paramètres EXCLUDEWILDCARDOBJECTSONLY, CATALOGEXCLUDE, SCHEMAEXCLUDE, MAPEXCLUDE et TABLEEXCLUDE.