MAP pour extraction

Durée de validité

Extraction

Description

Vous pouvez également utiliser MAP dans un fichier de paramètres d'extraction pour modifier le nom des transactions stockées par Oracle GoldenGate pour la table.

Prenons l'exemple de la capture de la table scott.emp. Pour le premier cas d'utilisation, vous capturez ce dernier afin d'appliquer toutes les modifications à une tablether nommée scott.emp avec la même structure, mais vous voulez également capturer scott.emp avec un ensemble de colonnes différent et le répliquer vers une table nommée scott.emp_old. Pour ce faire, vous aurez besoin d'un fichier de paramètres Extract semblable au suivant :

TABLE scott.emp;
MAP scott.emp,
cols(emp_no, employee_name),
target scott.emp_old;

Dans la réplication, vous pouvez effectuer les opérations suivantes :

MAP *.*, target *.*;

Les modifications apportées par scott.emp passeraient à scott.emp, les données de trace pour scott.emp_old passeraient à scott.emp_old.

Utilisez le paramètre MAP pour le processus Extract lorsque le processus Extract fonctionne en mode de capture classique. Vous devez utiliser le composant ALTID de ce paramètre pour mettre en correspondance un objet ID avec un nom d'objet. ALTID indique l'objet correct ID si l'extraction capture à partir des journaux de transactions Oracle qui ont été générés par une base de données autre que celle à laquelle l'extraction est connectée. Cette configuration est requise lorsque le processus Extract n'est pas autorisé à se connecter directement à la base de données de production (source) pour capturer les transactions de production.

Lorsque le processus Extract ne peut pas se connecter directement à une base de données source, il se connecte à une base de données de secours active ou à une autre base de données de télécopie, mais il lit les journaux de transactions envoyés à partir de la base de données source. En interrogeant le catalogue de la base de données alternative, le processus Extract peut obtenir les métadonnées dont il a besoin pour développer les données de transaction en instructions SQL valides, mais il ne peut pas utiliser l'objet ID de cette requête. L'objet local ID d'une table est différent de l'objet ID de cette table dans la base de données source (et donc dans le journal des transactions). Vous devez mettre en correspondance manuellement chaque nom de table avec l'objet source ID à l'aide d'une instruction MAP avec ALTID.

Pour utiliser le MAP avec l'ALTID

Valeur par défaut

Aucun

Syntaxe

MAP *[<container>.]<schema>.*<table>, ALTID <object_ID> [, <object_ID>]

[<container>.]<schema.table>

Nom qualifié complet de la table source.

<object_ID>

Objet ID de la table tel qu'il existe dans la base de données de production (source).

Si une table est partitionnée, vous pouvez répertorier les ID d'objet des partitions à répliquer, en les séparant par une virgule.

Exemples

Exemple 1

Cet exemple mappe une table non partitionnée ou une seule partition d'une table partitionnée.

MAP QASOURCE.T2, ALTID 75740;

Exemple 2

Cet exemple mappe les partitions d'une table partitionnée.

MAP QASOURCE.T_P1, ALTID 75257,75258;