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]