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トランザクション・ログからExtractが取得する場合に、正しいオブジェクトIDを指定します。この構成は、Extractが、本番環境のトランザクションを取得するために本番環境の(ソース)データベースへの直接接続を許可されていないときに必要です。

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

MAPとALTIDの使用方法

デフォルト

なし

構文

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;