Qualification des noms d'objet de base de données
Les noms d'objet doivent être entièrement qualifiés dans le fichier de paramètres. Cela signifie que chaque spécification de nom doit être qualifiée, non seulement celles fournies en tant qu'entrée à la syntaxe de paramètre Oracle GoldenGate, mais également les noms dans une procédure ou une requête SQL fournie en tant qu'entrée SQLEXEC, les noms dans l'entrée d'exit utilisateur et toutes les autres entrées fournies dans le fichier de paramètres.
Oracle GoldenGate prend en charge les noms d'objet en deux parties et en trois parties, selon les besoins de la base de données.
Noms en deux parties
Pour la plupart des bases de données, seuls des noms en deux parties doivent être indiqués, au format suivant :
*owner.object*
Par exemple : HR.EMP
Où :
owner est un schéma ou une base de données, selon la façon dont la base de données définit un espace de noms logique qui contient des objets de base de données. object est une table ou un autre objet de base de données pris en charge.
Les bases de données pour lesquelles Oracle GoldenGate prend en charge les noms en deux parties sont les suivantes, avec la convention de dénomination en deux parties appropriée :
-
Db2 pour i : schema.object et library/file(member)
-
Db2 LUW : schema.object
-
Db2 sur z/OS : schema.object
-
MySQL: database.object
-
Oracle AI Database (bases de données non Conteneur) : schema.object
-
SQL Server : schema.object
-
Teradata : database.object
Noms en trois parties
Oracle GoldenGate prend en charge les noms en trois parties pour la base de données Conteneur Oracle, uniquement en cas d'utilisation de l'extraction en aval. Cependant, Oracle GoldenGate prend en charge uniquement l'extraction par base de données pluggable pour Oracle AI Database, en général.
Les noms en trois parties sont requis pour la capture à partir d'une base de données Conteneur Oracle source car un groupe Extract peut capturer à partir de plusieurs conteneurs. Par conséquent, le nom du conteneur, ainsi que le schéma, doivent être indiqués pour chaque objet dans une instruction TABLE d'extraction.
Indiquez un nom de base de données Conteneur Oracle en trois parties comme suit :
*container.schema.object*
Par exemple : PDBEAST.HR.EMP
Appliquer des données à partir de plusieurs conteneurs ou catalogues
Pour appliquer des données capturées à partir de plusieurs conteneurs ou catalogues source à une base de données Conteneur Oracle cible, des noms en trois et en deux parties sont requis. Dans la partie MAP de l'instruction MAP, chaque objet source doit être associé à un conteneur ou à un catalogue, comme dans l'instruction TABLE. Vous pouvez ainsi (et le processus Replicat) mapper correctement les données de plusieurs conteneurs ou catalogues source avec les objets cible appropriés. Toutefois, dans la partie TARGET de l'instruction MAP, seuls des noms en deux parties sont requis. En effet, le processus Replicat ne peut se connecter qu'à un seul conteneur ou catalogue cible à la fois, et schema.owner est un qualificatif suffisant. Plusieurs groupes de réplication sont requis pour prendre en charge plusieurs conteneurs ou catalogues cible. Indiquez le conteneur ou le catalogue cible avec le paramètre TARGETDB.
Spécification d'un conteneur ou d'un catalogue par défaut
Vous pouvez utiliser le paramètre SOURCECATALOG pour indiquer un catalogue par défaut pour toutes les spécifications TABLE, MAP (ou Oracle SEQUENCE) suivantes dans le fichier de paramètres.
L'exemple suivant montre l'utilisation de SOURCECATALOG pour indiquer la base de données pluggable Oracle par défaut nommée pdbeast pour les objets region et jobs, et la base de données pluggable par défaut nommée pdbwest pour les objets appraisal. Les objets dans pdbeast sont spécifiés avec un nom complet en trois parties, ce qui ne nécessite pas de spécification d'un catalogue par défaut.
TABLE pdbeast.hr.emp*;
SOURCECATALOG pdbeast
TABLE region.country*;
TABLE jobs.desg*;
SOURCECATALOG pdbwest
TABLE appraisal.sal*;