MAP per estrazione

Valido per

Extract

Descrizione

È inoltre possibile utilizzare MAP in un file dei parametri Extract per modificare il nome delle transazioni memorizzate da Oracle GoldenGate per la tabella.

Si consideri ad esempio l'acquisizione della tabella scott.emp. Per il primo caso d'uso, lo si acquisisce per applicare tutte le modifiche alla tabella antera denominata scott.emp con la stessa struttura, ma si desidera anche acquisire scott.emp con un set di colonne diverso e replicarlo in una tabella denominata scott.emp_old. Per fare questo lavoro, avrai bisogno di un file di parametri Extract simile a questo:

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

In Replicat è possibile effettuare le operazioni riportate di seguito.

MAP *.*, target *.*;

E le modifiche da scott.emp andrebbero in scott.emp, i dati di trail per scott.emp_old andrebbero in scott.emp_old.

Utilizzare il parametro MAP per Extract quando Extract funziona in modalità di acquisizione classica ed è necessario utilizzare il componente ALTID di questo parametro per mappare un oggetto ID a un nome oggetto. ALTID specifica l'oggetto corretto ID se Extract acquisisce dai log delle transazioni Oracle generati da un database diverso da quello a cui è connesso Extract. Questa configurazione è necessaria quando Extract non è autorizzato a connettersi direttamente al database di produzione (origine) per acquisire le transazioni di produzione.

Quando Extract non è in grado di connettersi direttamente a un database di origine, si connette a un database in standby attivo o ad altro facsimile, ma legge i log delle transazioni inviati dal database di origine. Eseguendo una query sul catalogo del database alternativo, Extract può ottenere i metadati necessari per espandere i dati della transazione in istruzioni SQL valide, ma non può utilizzare l'oggetto ID da questa query. L'oggetto locale ID per una tabella è diverso dall'oggetto ID di tale tabella nel database di origine (e, quindi, nel log delle transazioni). È necessario mappare manualmente ogni nome di tabella all'oggetto di origine ID utilizzando un'istruzione MAP con ALTID.

Per usare MAP con ALTID

Predefinito

Nessuno

Sintassi

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

[<container>.]<schema.table>

Nome completamente qualificato della tabella di origine.

<object_ID>

L'oggetto ID della tabella esistente nel database di produzione (origine).

Se una tabella è partizionata, è possibile elencare gli ID oggetto delle partizioni che si desidera replicare, separandoli con una virgola.

Esempi

Esempio 1

In questo esempio viene mappata una tabella non partizionata o solo una partizione di una tabella partizionata.

MAP QASOURCE.T2, ALTID 75740;

Esempio 2

Questo esempio mappa le partizioni di una tabella partizionata.

MAP QASOURCE.T_P1, ALTID 75257,75258;