主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateの管理for Windows and UNIX
12c (12.2.0.1)
E70111-04
目次へ移動
目次

前
次

20.4.3 ソースとターゲットの間の表属性の調整

列やパーティションの追加または変更、サプリメンタル・ロギング詳細の変更(Oracle)など、Oracle GoldenGate構成内のソース表の属性を変更する場合は、次の手順に従ってください。ここでは、レプリケーション・レイテンシを発生させずにターゲット表に同じ変更を加える方法を示します。

注意:

この手順では、Oracle GoldenGateのDDLサポート機能が使用されていない、または使用中のデータベースでサポートされていないと仮定しています。OracleおよびTeradataのデータベースの場合、この手順を使用するかわりに、Oracle GoldenGateのDDLサポート機能を有効化してDDLの変更をターゲットに伝播することができます。

  1. ソース・システムとターゲット・システムで、トランザクション・ログ内の停止ポイントを示すマーカーを生成するための表(マーカー表)を作成します。単純な列を2つ作成します(一方は主キー、もう一方は通常の列です)。例:
    CREATE TABLE marker
    (
    id int NOT NULL,
    column varchar(25) NOT NULL,
    PRIMARY KEY (id)
    );
    
  2. ソース・システムとターゲット・システムの両方で、マーカー表に行を挿入します。
    INSERT INTO marker VALUES (1, 1);
    COMMIT;
    
  3. ソース・システムで、GGSCIを実行します。
  4. Extractのパラメータ・ファイルを編集のために開きます。

    注意:

    ローカル・オペレーティング・システムのものとは異なるキャラクタ・セットを使用した既存のパラメータ・ファイル(CHARSETオプションを使用して別のキャラクタ・セットを指定したファイルなど)は、VIEW PARAMSコマンドまたはEDIT PARAMSコマンドを使用して表示や編集を行わないでください。そのようなパラメータ・ファイルはGGSCIの外部から表示してください。そうしないと、内容が破損する可能性があります。

  5. Extractのパラメータ・ファイルのTABLE文にマーカー表を追加します。
    TABLE marker;
    
  6. パラメータ・ファイルを保存して閉じます。
  7. データ・ポンプを使用している場合、データ・ポンプのTABLE文にマーカー表を追加します。
  8. Extractおよびデータ・ポンプのプロセスを停止し、取得のラグが発生しないよう、ただちに再起動します。
    STOP EXTRACT group
    START EXTRACT group
    STOP EXTRACT pump_group
    START EXTRACT pump_group
    
  9. ターゲット・システムでGGSCIを実行します。
  10. Replicatのパラメータ・ファイルを編集のために開きます。

    注意:

    ローカル・オペレーティング・システムのものとは異なるキャラクタ・セットを使用した既存のパラメータ・ファイル(CHARSETオプションを使用して別のキャラクタ・セットを指定したファイルなど)は、VIEW PARAMSコマンドまたはEDIT PARAMSコマンドを使用して表示や編集を行わないでください。そのようなパラメータ・ファイルはGGSCIの外部から表示してください。そうしないと、内容が破損する可能性があります。

  11. Replicatのパラメータ・ファイルのMAP文にマーカー表を追加し、次に示すように、EVENTACTIONSパラメータを使用してReplicatを停止し、マーカー表に対する操作を無視します。
    MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
    
  12. パラメータ・ファイルを保存して閉じます。
  13. Replicatプロセスを停止し、ただちに再起動します。
    STOP REPLICAT group
    START REPLICAT group
    
  14. ソース表とターゲット表両方の表属性を変更する準備ができたら、それらの表に対するユーザー・アクティビティをすべて停止します。
  15. ソース・システムで、マーカー表に対するUPDATE操作をトランザクションの唯一の操作として実行します。
    UPDATE marker
    SET column=2,
    WHERE id=1;
    COMMIT;
    
  16. ターゲット・システムで、EVENTACTIONSルールの結果としてReplicatが停止したことが示されるまで、次のコマンドを発行します。
    STATUS REPLICAT group
    
  17. ソース表とターゲット表に対してDDLを実行しますが、まだユーザー・アクティビティは許可しません。
  18. Replicatを起動します。
    START REPLICAT group
    
  19. ソース表とターゲット表に対するユーザー・アクティビティを許可します。