スノーフレーク用のReplicatの追加

OCI GoldenGateデータ・レプリケーションで、スノーフレーク・ターゲットのReplicatプロセスを追加する方法について学習します。

開始する前に

前提条件

  • ターゲット表がスノーフレーク・データベースに存在することを確認します。
  • S3、ADLS Gen2またはGCSなどの外部ステージの場所を使用する場合は、Amazon Web Services、Google Cloud PlatformまたはAzureクラウド・アカウントを設定する必要があります。
  • スノーフレークJDBCドライバ接続文字列

スノーフレーク・データベース・ユーザー権限

スノーフレークへのレプリケーションに使用されるデータベース・ユーザーには、次の権限が付与されている必要があります。

  • ターゲット表に対するINSERTUPDATEDELETEおよびTRUNCATE
  • スノーフレーク指定ステージおよび外部ステージのCREATEおよびDROP
  • 外部ステージ(S3、ADLS、GCS)を使用する場合、外部表のCREATEALTERおよびDROP

Replicatの追加(23ai)

始める前に

このターゲット・タイプに固有の前提条件を確認してください。

GoldenGate 23aiにReplicatを追加するには:
  1. OCI GoldenGateデプロイメント・コンソール管理サービスのホームページで、Replicatの追加」(プラス・アイコン)をクリックします。
  2. 「Replicatの追加」パネルのReplicat情報ページで、必要に応じてフィールドに入力し、「次」をクリックします:
    • Replicatタイプを選択します:
      • クラシックReplicat
      • 調整Replicat
    • 「プロセス名」に5文字以下の長さで入力します。
    • 「説明」を入力して、このプロセスを他のプロセスと区別できるようにします。
  3. 「Replicatオプション」ページで、必要に応じてフィールドに入力し、「次」をクリックします:
    1. Replicat証跡の場合:
      • 「名前」を入力します
      • 証跡ファイルがデフォルト以外の場所にあることが想定される場合は、「サブディレクトリ」を入力します。
      • 暗号化プロファイルを選択します。暗号化プロファイルが作成されていない場合は、デフォルトでローカル・ウォレットが選択されます。
      • 「開始」で、データ処理の開始点を選択します:
        • ログでの位置(デフォルト)
        • Now
        • カスタム時間
    2. トレイル位置:
      • 「連番」を入力します。
      • RBAオフセットを入力します。
    3. 「ターゲット」で、ドロップダウンから「スノーフレーク」を選択し、次のいずれかを選択します:
      1. ストリーミング
      2. ステージングとマージ、使用可能なステージングの場所の選択
    4. ターゲット資格証明の場合:
      • 「ドメイン」を選択します
      • 指定したドメイン内の別名を選択します。
      • 「チェックポイント表」を選択します。デフォルトの選択のままにするか、ターゲット・デプロイメント用に作成した「チェックポイント」表を選択します。
      • 「最大スレッド数」を選択します(調整「レプリカ」のみ)。
  4. 「管理対象オプション」ページで、必要に応じてオプションのフィールドに入力し、「次」をクリックします:
    • プロファイル名がある場合は選択します。
    • デプロイメントのヘルスに不可欠を有効にします。
    • 自動開始設定を有効にして構成します。
  5. 「パラメータ・ファイル」ページで、パラメータを追加してReplicatを構成できます。次に例を示します。
    table source.table1;

    調整されたReplicatを使用する場合は、パラメータ・ファイルにTARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/your_replicat_name.propertiesを追加します。

    ノート:

    GoldenGateでは、デフォルトでグリニッジ標準時(GMT)が使用されます。SETENVを使用して、このReplicatプロセスのデフォルト設定をオーバーライドします。この変更はデプロイメントには適用されません。たとえば次のようにします。

    setenv (TZ="US/Eastern")
    setenv (TZ="GMT+5")
  6. (オプション)「プロパティ・ファイル」ページで、プロパティを確認します。
    jvm.bootoptions: Replicat JVMにメモリーを追加する必要がある場合は、-Xmx値を増やします(最大16 GBのメモリーを使用するには-Xmx16g、最大32 GBの場合は-Xmx32gなど)。

    ノート:

    スノーフレーク・ストリーミング・ハンドラに関連する既知の問題が、エラーException: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"で失敗します。この問題を回避するには、Replicatプロパティ・ファイルに次を追加します。
    jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true

    このターゲットのプロパティの詳細、およびステージ・ハンドラとマージ・ハンドラとストリーミング・ハンドラの違いについては、Oracle GoldenGate for Distributed Applications and Analyticsガイドのスノーフレークを参照してください。

  7. 「作成および実行」をクリックします。「作成」をクリックすると、後で管理サービスのホーム・ページからReplicatを手動で起動できます。

Replicatの追加(21c)

Oracle GoldenGate 21cでSnowflake用のReplicatを追加するには:
  1. OCI GoldenGateデプロイメント・コンソールの管理サービスの「概要」ページで、「Replicatの追加」(プラス・アイコン)をクリックします。
  2. 「Replicatの追加」ページで、Replicatタイプを選択し、「次」をクリックします。
    Replicatのタイプは:
    • クラシックReplicat
    • 調整Replicat
  3. 「Replicatオプション」ページで、次のフィールドに入力し、「次」をクリックします:
    1. 「プロセス名」に、Replicatプロセスの名前を入力します。
    2. 「トレイル名」に、2文字のトレイル名を入力します。
    3. 「ターゲット」で、ドロップダウンからターゲットのスノーフレーク接続を選択します。
    4. 「使用可能な別名」で、ドロップダウンから別名を選択します。
    5. (オプション)「外部ストレージの有効化」では、ドロップダウンから使用可能なステージングの場所を選択します。
  4. 「Replicatパラメータ」ページで、必要なマッピングを追加し、「次へ」をクリックします。

    ノート:

    • 調整Replicatを使用する場合は、パラメータ・ファイルの2行目に次のパラメータを追加します。
      TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/<replicat
            name>.properties

      調整Replicatを使用すると、複数のファイルが作成されます。

      省略すると、次のエラーが発生します。

      OGG-01091 Oracle GoldenGate Delivery, RSNOW.prm: Unable to open file
            "/u02/Deployment/etc/conf/ogg/<replicat name>001.properties" (error 2, No such file or
            directory).
    • スノーフレークに長時間のマージ操作があり、多数のロックが観測された場合は、同じ表を変更している他の表がないことを確認してください。また、調整されたReplicatは、多数の表ロックにつながる可能性があるため、注意して使用してください。
    • GoldenGateでは、デフォルトでグリニッジ標準時(GMT)が使用されます。SETENVを使用して、Replicatのデフォルト設定をオーバーライドします。この変更はデプロイメントには適用されません。たとえば次のようにします。
      setenv (TZ="US/Eastern")
      setenv (TZ="GMT+5")

      SETENVについてさらに学習します。

  5. (オプション)「プロパティ・ファイル」ページで、次のプロパティを確認します。

    ノート:

    これらのプロパティは接続の作成時に設定されるため、ここでは変更しないでください。
    • ggs.eventhandler.snowflake.connectionURL: スノーフレークに接続するためのJDBC URL。
    • ggs.eventhandler.snowflake.UserName: スノーフレーク・データベース・ユーザー名。
    • ggs.eventhandler.snowflake.Password: Snowflakeデータベース・ユーザーに関連付けられたパスワード。
    • ggs.eventhandler.snowflake.storageIntegration: スノーフレーク・データ・ウェアハウスがそれぞれのオブジェクト・ストア・ファイルにアクセスするための資格証明。詳細は、スノーフレーク・ストレージ統合を参照してください。
    • jvm.bootoptions: Replicat JVMにメモリーを追加する必要がある場合は、-Xmx値を増やします(最大16 GBのメモリーを使用する場合は-Xmx16g、最大32 GBの場合は-Xmx32gなど)。
  6. 「作成および実行」をクリックします。「作成」をクリックすると、後で管理サービスの「概要」ページからReplicatを手動で起動できます。
管理サービスの概要ページに戻り、Replicatプロセスの表示、およびReplicatアクションにアクセスできます。

既知の問題

バグ37518857: OGGDAA GGSスノーフレーク・ストリーミングReplicatエラー

スノーフレーク・ストリーミング・ハンドラがException: java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread "process reaper"で失敗します

回避策: Replicatプロパティ・ファイルに次を追加します。
jvm.bootoptions= -Djdk.lang.processReaperUseDefaultStackSize=true