1.102 Extract用MAP

適用対象

Extract

説明

Extractパラメータ・ファイルでは、Oracle GoldenGateが表に保存するトランザクションの名前を変更するためにMAPを使用することもできます。

たとえば、表scott.empをキャプチャするとします。最初のユース・ケースでは、すべての変更を適用するためにscott.empという同じ構造の別の表にキャプチャしますが、列のセットが異なるscott.empをキャプチャしてscott.emp_oldという表にレプリケートします。これを実現するには、次のようなExtractパラメータ・ファイルが必要になります。

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

Replicatでは、次を実行できます。

MAP *.*, target *.*; 

scott.empの変更はscott.empに移され、scott.emp_oldの証跡データはscott.emp_oldに移されます。

Extract用のMAPパラメータは、クラシック・キャプチャ・モードで動作しているとき、および、このパラメータのALTIDコンポーネントを使用してオブジェクトIDをオブジェクト名にマップする必要があるときに使用します。ALTIDでは、Extractが接続先データベース以外のデータベースによって生成されたOracleトランザクション・ログを取得する場合に、正しいオブジェクトIDを指定します。この構成は、Extractが、本番環境のトランザクションを取得するために本番環境の(ソース)データベースへの直接接続を許可されていないときに必要です。

Extractは、ソース・データベースに直接接続できないと、ライブ・スタンバイ・データベースまたはその他の複製データベースに接続しますが、本番環境のデータベースから送信されたトランザクション・ログを読み取ります。代替データベースのカタログへの問合せによって、Extractは、トランザクション・データを有効なSQL文に展開するために必要なメタデータを取得できます。ただし、この問合せで取得したオブジェクトIDは使用できません。表のローカル・オブジェクトIDは、ソース・データベース内(およびトランザクション・ログ内)のその表のオブジェクトIDとは異なるためです。MAP文とALTIDを使用して、各表名をソースのオブジェクトIDに手動でマップする必要があります。

MAPとALTIDの使用方法

  • 取得する表ごとに1つのMAP文とALTIDを作成します。ALTIDが含まれているMAPパラメータでは、表名のワイルドカード指定は許可されていません。

  • 同じ表(1つまたは複数)にデータのフィルタリングや操作などの他の処理を指定するには、それぞれの表に対してTABLE文も作成する必要があります。該当する場合は、ワイルドカードを使用して1つのTABLE文で複数の表を指定できます。

  • Replicatパラメータ・ファイルでは、通常どおり標準のReplicat MAP文を使用します。Extract用MAPは、ソース表をターゲット表にマップするために必要なReplicat用MAPのかわりには使用できません。

  • ALTIDを使用するときは、DDL取得およびレプリケーションはサポートされません。

デフォルト

なし

構文

MAP [container.]schema.table, ALTID object_ID [, object_ID]
[container.]schema.table

ソース表の完全修飾名。

object_ID

本番環境(ソース)データベース内での表のオブジェクトID。

表がパーティション化されている場合は、レプリケートするパーティションのオブジェクトIDをカンマで区切ってリストできます。

例1   

この例は、パーティション化されていない表、またはパーティション化された表の1パーティションのみをマップします。

MAP QASOURCE.T2, ALTID 75740;
例2   

この例は、パーティション化された表の複数のパーティションをマップします。

MAP QASOURCE.T_P1, ALTID 75257,75258;