パイプラインおよびレシピ

レシピおよびパイプラインを使用してデータ・レプリケーション・プロセスを作成する方法について説明します。

パイプラインについて

パイプラインは、レシピのインスタンスです。これにより、ソース接続、適用するレプリケーション・アクションのタイプ、およびターゲット接続を選択できるようになります。パイプラインを開始すると、レプリケーション・プロセスをリアルタイムで監視できます。

Oracle GoldenGate ExtractおよびReplicatを熟知している方にとっては、パイプラインとはOracle GoldenGateレプリケーション・プロセスの抽象化したものです。パイプラインを起動すると、Oracle GoldenGateは次のことを行います:
  • 抽出のためのデータベース・オブジェクトの準備
  • ハートビート表の作成
  • Extractプロセスの作成および実行
  • Oracle Data Pumpを使用した初期ロードの実行
  • チェックポイント表の作成
  • Replicatプロセスの作成および実行

これらのステップは、パイプラインの詳細ページで、パイプラインの初期化フェーズの間に確認できます。

パイプラインは、ホームページとパイプラインページで表示できます。パイプラインを作成する前に、ソース・データベースおよびターゲット・データベースに対して「接続」が構成されていることを確認してください。

詳細は、『Oracle GoldenGate Microservicesドキュメント』「Extractについて」および「Replicatについて」を参照してください。

レシピについて

レシピとは、一般的なレプリケーション・シナリオのテンプレートであり、データ・レプリケーション手順の迅速化に使用できます。

レシピは、一連のデータ・レプリケーション・タスク、またはソース・システムおよびターゲット・システムの間のマッピングを定義するテンプレートです。レシピは、レプリケーション・ソリューションの作成を簡素化および迅速化するのに役立ちます。レシピを使用すると、新しいデータ統合プロジェクトの設定に必要な時間と労力が削減され、異なる環境間で一貫性と信頼性が確保されます。

  • 一方向データベース・レプリケーション: 初期ロードを実行し、ターゲット・データベースがソース・データベースと同期され続けていることを確認します。
  • アクティブ-アクティブ・データベース・レプリケーション: ターゲットに対してソース・データベースの初期ロードを実行してから、変更イベントを両方向に適用してデータベースを同期された状態に保ちます。
  • ZeroETLミラー:従来のETL(抽出、変換、ロード)プロセスを必要とせずに、運用データベースから分析またはレポート環境へのほぼリアルタイムのレプリケーションを提供します。このレシピは、アーキテクチャを簡素化し、最小限の待機時間で最新の分析データを提供します。

    ノート:

    検出された順序について警告が発生した場合、データベースで生成された順次値は、レプリケートしないでください。値の範囲は、重複しないように各システムで異なっている必要があります。たとえば、2つのデータベースが存在する環境では、一方のサーバーで偶数値を生成し、他方で奇数値を生成します。n個のサーバーが存在する環境では、各キーを異なる値で開始し、環境内のサーバーの数を単位として値を増分します。この方法は、すべてのタイプのアプリケーションまたはデータベースに使用できるわけではありません。アプリケーションが対応している場合、値に位置識別子を追加して強制的に一意性を確保できます。

パイプラインの作成

GoldenGate Studioでのパイプラインの作成方法について説明します。

始める前に

パイプラインを作成する前に、ソース・データベースおよびターゲット・データベースの接続を作成してテスト済であることを確認します。

パイプラインのソース接続またはターゲット接続としてOracle Autonomous Databaseを使用する場合は、次を実行する必要があります:

  1. Autonomous Databaseを構成します:
    1. ウォレットをダウンロードします: Oracle Cloud Infrastructureのインスタンスの詳細ページからAutonomous Databaseウォレットをダウンロードします。これは接続を作成するときにGoldenGate Studioにアップロードします(まだアップロードしていない場合)。

    2. TNS別名を構成します: Autonomous Database接続のウォレット内でtnsnames.oraの別名を使用します。

    3. クライアント資格証明を確認します: ユーザー名およびパスワードが使用可能で、GoldenGateレプリケーション操作の権限があることを確認します。

    4. Autonomous DatabaseファイアウォールおよびVNetルールを検証します: GoldenGate StudioがAutonomous Databaseに到達できるように、適切なネットワーク・アクセスを確認します。

    ノート:

    ウォレットおよび資格証明の管理がOracleセキュリティ・ポリシーに準拠していることを確認します。
  2. ターゲット・データベースへのアクセス: ターゲット・データベース(Autonomous Databaseまたはその他のサポートされているデータベース)への接続を構成および検証します。

  3. ユーザー別名の構成:

    1. ユーザー別名を使用して資格証明ストアを作成します。 「Oracle Autonomous Database用のExtractの構成」のステップ3から6を実行します。ユーザー別名は、ソース・データベースおよびターゲット・データベースのセキュアな資格証明を参照します。

    2. GoldenGate資格証明ストアにユーザー別名を登録し、Autonomous Database接続でパイプラインを作成するときはGoldenGate Studioにこのユーザー別名を入力して、プレーン・テキストの資格証明を保存しないようにします。

      ノート:

      ユーザー別名が正しく機能しているかどうかを確認するには、GoldenGateユーザー・インタフェースに移動し、最初にそこでDB接続をテストします。『Oracle GoldenGate Microservicesドキュメント』「Autonomous Databaseからの取得するための前提条件」を参照してください。
  4. データベース権限: GoldenGate操作をサポートするには、ソース側およびターゲット側で必要なデータベース権限が必要です(通常はSELECTFLASHBACK、DBAレベルの権限など)。

パイプラインの作成

パイプラインを作成するには:
  1. GoldenGate Studioのホームページで、パイプラインの作成をクリックします。
    また、ナビゲーション・メニューで「パイプライン」を選択してから「パイプライン」ページでパイプラインの作成をクリックすることもできます。
  2. パイプラインの作成パネルは、6つのページで構成されています:
    1. 「レシピ」ページで、レシピを選択してから「次」をクリックします。
    2. 「概要」ページで、「名前」を入力し、オプションで「説明」を入力してから、「次」をクリックします。
    3. 「接続」ページで、「ソース」「ターゲット接続」および「デプロイメント」を選択します。いずれかの接続がAutonomous Databaseインスタンスである場合、GoldenGateユーザー別名も指定する必要があります。「次」をクリックします。
    4. ソースの検証ページで、「検証」をクリックして、レプリケーション用のソース・データベース接続を確認および準備します。ソース・データベースの検証が正常に完了したら、「次」をクリックします。

      ソース検証が失敗した場合は、新しいステップであるソースの構成が追加されます。このステップでの検証を実行するには、「SYSユーザーでのソースおよびターゲット・データベース接続の検証」を参照してください。

    5. ターゲットの検証ページで、「次」をクリックします。

      ターゲット検証が失敗した場合は、新しいステップである「ターゲットの構成」が追加されます。このステップでの検証を実行するには、「SYSユーザーでのソースおよびターゲット・データベース接続の検証」を参照してください。

    6. 「確認」ページで、「保存して続行」をクリックします。
  3. これで、「パイプラインの構成」または「開始」をクリックできるようになりました。

パイプラインの開始後、各パイプラインの詳細なステータスおよびログを表示できます。これにより、パイプライン作成プロセスが失敗した場合にエラーを識別してトラブルシューティングできます。

SYSユーザーでのソースおよびターゲット・データベース接続の検証

このステップは、パイプラインの作成中にソースまたはターゲット(あるいはその両方)のデータベース接続の検証が失敗した場合にのみ必要です。

ソース検証ステップが失敗すると、ソースの検証ステータスにエラーが表示されます。次の図に示すように、「アクション」メニュー(省略記号)を使用して、検証失敗のエラー詳細を表示できます:
ソース・データベースへの接続時に検証エラーが発生しました。

SYS/SYSDBAユーザーを使用してソース・データベース接続を検証するには、次のステップが必要です。

  1. ソース接続の検証ステップが失敗した場合は、ソースの検証画面で「次」をクリックします。ソースの構成画面が表示されます。

  2. ソースの構成画面で、次の図に示すように、SYSユーザーまたはSYSDBAロールを持つユーザーの資格証明を入力します:
    SYS/SYSDBAユーザーを使用してソース接続を構成します。

  3. 次のオプションのいずれかを選択します。

    ノート:

    ユーザー・インタフェースでのSQLコマンド・オプションの利用可能性は、データベース構成によって異なります。
    • 「分析の実行」をクリックしてシステム分析を実行し、GoldenGate Studioのデータベースを準備するために必要な推奨SQLスクリプトを確認します(DBA権限が必要です)。

      このオプションは、データベースがすでに構成されており、追加の構成を必要としない場合に使用でき、必要なスクリプトをインタフェースから直接実行して、設定プロセスを合理化できます。
    • SQLのダウンロードをクリックして、構成に必要なSQLコマンドを生成するスクリプトを取得します。

      このオプションは、アーカイブ・ログの有効化、 stream_pool_sizeの設定、またはOracle Database 19cのGoldenGateレプリケーションの構成を手動で構成する必要があるデータベースで使用できます。なぜなら、これらのタスクではデータベースの再起動が必要になる場合があるからです。これらのインスタンスでは、続行する前にまずデータベースを構成する必要があります。

  4. ターゲット検証に失敗した場合は、「次」をクリックします。次の図に示すように、「ターゲットの構成」画面が表示されます:


    SYS/SYSDBAユーザーを使用してターゲット接続を構成します。

  5. SYS/SYSDBAユーザーを使用してターゲット・データベース接続を検証するには、ステップ3のタスクに従います。

パイプラインの構成

パイプラインは、構成する前に作成済である必要があります。

パイプラインを作成すると、「構成」ページが表示されます。作成後のパイプラインを再度確認する場合は、「パイプライン」ページからそのパイプラインを選択して詳細を表示した後、「構成」をクリックして「構成」ページに戻ります。

パイプラインを構成するには:

  1. マッピングで、レプリケートするソース・データベース・スキーマおよび表を確認して選択できます。

    ノート:

    接続の作成時に入力したユーザー名は、マッピング選択用のパイプラインの「マッピング」ページに表示されません。

    「マッピング」ツリー・ビューを使用してスキーマまたは表を選択または選択解除した後は、常に「マッピング・ルール」リストに追加されたルールを再度チェックします。これらは、Oracle GoldenGateによって実行される処理に関する正しい情報源です。

    パイプライン構成のマッピング画面。

    ノート:

    一方向データベース・レプリケーションでは、ターゲット・スキーマおよび表は、ターゲットに存在する場合のみ表示され、存在しない場合は「見つかりません」と表示されます。

    次の図は、一方向レプリケーション・パイプラインを示しています:


    「マッピング」ページに表示される一方向レプリケーション・パイプライン

  2. 「マッピング」タブを使用すると、次のことができます:

    • 編集(鉛筆アイコン)をクリックして、ターゲット・スキーマまたは表の名前を変更します。これにより、レプリケーションの指定内容が、名前変更されたスキーマおよび表へと変わります。
    • スキーマとそのすべての表を含めます。これにより、将来そのスキーマに追加される表も、暗黙的に含まれレプリケートされるようになります。
    • スキーマを含めます(そのすべての表を含めない)。含まれない表はレプリケートされませんが、将来そのスキーマに追加される表は、暗黙的に含まれターゲットにレプリケートされます。
    • スキーマは除外しますが、その表は含めます。将来そのスキーマに追加される表は、含まれません
    • スキーマ全体とそのすべての表を除外します。

    ソース・スキーマおよび表を選択または選択解除するか、ターゲット・スキーマまたは表を編集すると、ルールがマッピング・ルールに追加されます。

  3. アクティブ-アクティブ・レプリケーションの場合は、「マッピング」画面に「競合解決」列が表示されます。


    指定されたタイムスタンプとともにステータスを表示するアクティブ-アクティブ・レプリケーション・パイプラインの競合検出列

    ヒント:

    アクティブ-アクティブ・パイプラインでは、自動競合検出および競合解決(ACDR)が、まだ有効になっていない表に対して有効になります。ACDRがすでに有効になっている場合、GoldenGate Studioは構成を変更しません。

    自動競合検出および解決 (ACDR)を構成するには:

    1. ACDRを構成する必要があるスキーマの横にある「編集」をクリックします。

    2. 表マッピングの編集パネルで、自動競合検出および解決を選択します。

    3. 「タイムスタンプ」で、最新の変更内容を優先するか最初の変更内容を優先するかを選択します。

    4. 競合を解決するために変更内容を結合する必要がある場合はデルタ解決を選択してから、使用する列を選択します。たとえば、製品在庫に関する更新です。

    5. 「適用」をクリックします。

    警告:

    GoldenGate Studioでは、アクティブ-アクティブ・パイプラインの開始後の、新しい表の追加やACDRタイプの変更はサポートされていません。どうしても必要な場合以外は、次のいずれかを実行してください。
    • 新しい表を追加した新しいパイプラインを作成、構成および開始します。

    • GoldenGate Studioコンソールで、次のようにします:

      1. パイプラインを停止します。

      2. 新規表を外部で作成します。

      3. 「マッピング」で、そのスキーマを展開し、新しい表を選択します。

      4. 「オプション」「拡張オプション」「Replicat」にあるDMLエラー発生時のアクション「廃棄」を選択します。

      5. パイプライン構成を保存してから、そのパイプラインをもう一度開始します。

    ノート:

    ACDRは、キーのない表に対しては、自動的には有効になりません。

    ノート:

    ACDRの有効化中にパイプラインを停止する場合、またはACDRの有効化ステップでエラーが発生した場合、選択した表に対してACDRは有効化されません。

  4. マッピング・ルールでは、ルールを確認、追加、削除および順序変更できます。

    マッピング・ルールのオプションです。

    追加の考慮事項:

    • 除外ルールは包含ルールより優先されます。

    • ルールを削除するには、アクション(省略記号のアイコン)をクリックし、削除を選択します。

    • ルールを並べ替えるには、アクション(省略記号のアイコン)をクリックしてから、優先度を上げるまたは優先度を下げるを選択します。

    • 新しいルールを追加するには、ルールの追加をクリックします。ルールの作成時には、次の特殊文字を使用できます:

      • 任意の数の文字を示すワイルドカードとして、アスタリスク(*)

      • アンダースコア(_)

      • スペース( )

      • スペースを含むスキーマ名または表名を囲むためや、大/小文字の区別が必要な場合に、二重引用符(")。

    • 個々のルールはグループ・ルールより優先されます。

    • すべて削除を選択すると、リスト内のすべてのルールが削除されます。

  5. オプションで、限定された一連のGoldenGateパラメータを構成できます:

    • 既存のスキーマまたは表(あるいはその両方)の初期ロード

      ノート:

      • 初期ロードにデータベース・リンクを使用する場合は、ソース・ウォレットURIパラメータ値を指定する必要があります。
      • 初期ロードにオブジェクト・ストレージを使用する場合は、オブジェクト・ストレージ・バケットURI値を指定する必要があります。
    • データ定義言語(DDL)のレプリケート

    • 初期ロード(データ・ポンプ)、ExtractまたはReplicatについての詳細オプション

      ノート:

      パイプラインを管理できるかどうかに影響するため、基礎となるパラメータ・ファイルに変更を加えないでください。同様に、GoldenGate Studio コンソールを使用している場合はReplicatタイプを変更しないでください。
  6. 保存をクリックして構成設定を保存します。

  7. パイプラインを構成した後は、「開始」をクリックしてそれを実行します。

    初期化手続き、レプリケーション・プロセスにおける各ステップのステータスと進行状況、および各ステップの完了にかかる時間を確認できます。

  8. 初期化が完了すると、「ランタイム」ページに、ターゲットにレプリケートされたソース・データベースに対するデータ取得操作が表示されます。

パイプラインは、停止されるまで継続的に実行されます。

次のステップ

パイプラインを作成、構成および実行した後は、パイプラインの管理について説明します。