SQL*Loaderへダイレクト・バルク・ロードするための構成

この方法では、Oracle GoldenGate初期ロードExtractを構成して実行し、全ソース・レコードを抽出して初期ロードReplicatタスクに直接送信します。初期ロードReplicatタスクはSQL*Loaderと通信し、ダイレクトパス・バルク・ロードでデータをロードします。データ・マッピングと変換は、初期ロードExtractまたは初期ロードReplicat、あるいはその両方で行えます。ロード中、「プライマリExtractの構成」および「Oracle GoldenGate Replicatの構成」で構成した変更同期グループによって、増分変更がレプリケートされ、ロードの結果に応じて調整されます。

次の図に、SQL*Loaderへダイレクト・バルク・ロードするための構成を示します。

制限事項:

  • この方法では、LOBまたはLONGのデータの抽出はサポートされません。かわりの方法については、「入力ファイルからSQL*Loaderへのインスタンス化の実行」を参照してください。

  • この方法では、サイズに関係なく、LOBを含むマテリアライズド・ビューはサポートされません。データの暗号化もサポートされません。

SQL*Loaderへダイレクト・バルク・ロードするための構成手順

  1. LOCK ANY TABLEをターゲットOracle DatabaseのReplicatデータベース・ユーザーに付与します。
  2. ソースおよびターゲット・システムでGGSCIを実行します。
  3. 両方のシステムでManagerを起動します。
    START MANAGER
    
  4. ソース・システムで、初期ロードExtractを作成します。
    ADD EXTRACT initial-load_Extract, SOURCEISTABLE
    

    説明:

    • initial-load_Extractは、8文字以内の初期ロードExtractの名前です。

    • SOURCEISTABLEでは、Extractに全レコードをソース表から直接読み取るように指示します。

  5. ソース・システムで、初期ロードExtractパラメータ・ファイルを作成します。
    EDIT PARAMS initial-load_Extract
    
  6. 次に示す順序で初期ロードExtractパラメータを入力します。パラメータ文ごとに新しい行を開始します。次の例は、マルチテナント・コンテナ・データベースに関連付けられている3つの部分からなる表名を示しています。
    EXTRACT initext
    USERIDALIAS tiger1
    RMTHOST fin1, MGRPORT 7809 ENCRYPT AES192, KEYNAME securekey2
    RMTTASK replicat, GROUP initrep
    TABLE hq.hr.*;
    パラメータ 説明

    EXTRACT initial-load_Extract

    ADD EXTRACTで指定した初期ロードExtractの名前を指定します。

    USERIDALIAS alias

    Extractに割り当てられているデータベース・ログイン資格証明のエイリアスを指定します。この資格証明は、Oracle GoldenGate資格証明ストアに存在する必要があります。詳細は、「Oracle GoldenGate資格証明の確立」を参照してください

    RMTHOST hostname, MGRPORT portnumber[, ENCRYPT algorithm KEYNAME keyname]

    ターゲット・システム、Managerが稼働しているポート、およびTCP/IP経由でのデータ暗号化(オプション)を指定します。

    RMTTASK REPLICAT, GROUP initial-load_Replicat

    プロセス・タイプ(REPLICAT)と初期ロードReplicatの名前を指定します。ターゲット・システムのManagerに、初期ロードReplicatを1回かぎりのタスクとして動的に起動するように指示します。

    TABLE [container.]schema.table;

    キャプチャする表を指定します。

    • マルチテナント・コンテナ・データベースの場合、containerはプラガブル・データベースの名前です。3つの部分からなる名前を使用するかわりに、SOURCECATALOGパラメータを使用してデフォルトのプラガブル・データベースを指定できます。

    • schemaは、スキーマ名です。

    • tableは、表名です。

  7. ファイルを保存して閉じます。
  8. ターゲット・システムで、初期ロードReplicatを作成します。
    ADD REPLICAT initial-load Replicat, SPECIALRUN
    

    説明:

    • initial-load Replicatは、初期ロードReplicatタスクの名前です。

    • SPECIALRUNでは、初期ロードReplicatを、継続的プロセスではなく、ワンタイム・タスクとして識別します。

  9. ターゲット・システムで、初期ロードReplicatパラメータ・ファイルを作成します。
    EDIT PARAMS initial-load Replicat
    
  10. 次に示す順序で初期ロードReplicatパラメータを入力します。パラメータ文ごとに新しい行を開始します。次の例は、マルチテナント・コンテナ・データベースに関連付けられている3つの部分からなるソース表名を示しています。
    REPLICAT initrep
    USERIDALIAS tiger2
    BULKLOAD
    ASSUMETARGETDEFS
    MAP hq.hr.*, TARGET hr2.*;
    
    パラメータ 説明

    REPLICAT initial-load Replicat

    ADD REPLICATで指定した初期ロードReplicatタスクの名前を指定します。

    USERIDALIAS alias

    Replicatに割り当てられているデータベース・ログイン資格証明のエイリアスを指定します。この資格証明は、Oracle GoldenGate資格証明ストアに存在する必要があります。

    BULKLOAD

    Oracle SQL*Loaderインタフェースと直接対話するようReplicatに指示します。

    ASSUMETARGETDEFS

    ソースとターゲットの表が、セマンティクスを含めて同一であるものとします。ソースとターゲットの定義が異なる場合、変更同期と初期ロードの両方のプロセスが使用するソース定義ファイルを作成して指定する必要があります。

    MAP [container.]schema.table, TARGET schema.table;

    ソース表とターゲット表の関係を指定します。

    • ソースがマルチテナント・コンテナ・データベースの場合、containerはこのMAP 文で指定されたソース・オブジェクトを含むプラガブル・データベースの名前です。3つの部分からなる名前を使用するかわりに、SOURCECATALOGパラメータを使用してデフォルトのソース・プラガブル・データベースを指定できます。

    • schemaは、スキーマ名です。

    • tableは、表名です。