2 Oracle GoldenGateのスタート・ガイド

Oracle GoldenGateでは、Classic ArchitectureおよびMicroservices Architecture (MA)の2つのアーキテクチャがサポートされます。

Oracle GoldenGateは、次の目的で構成できます。
  • あるデータベースからデータ・レコードの静的抽出を行い、別のデータベースにそのレコードをロードする場合。

  • ソースとターゲットのデータ一貫性を維持するために、トランザクションデータ操作言語(DML)操作とデータ定義言語(DDL)変更(サポートされるデータベースの場合)を継続的に抽出およびレプリケートする場合。

  • データベースから抽出を行い、データベース以外の場所にあるファイルにレプリケートする場合。

Oracle GoldenGateアーキテクチャの概要

次の表では、2つのOracle GoldenGateアーキテクチャについて説明し、それぞれのアーキテクチャをどのような場合に使用するかを示します。

X Classic Architecture Microservices Architecture

アーキテクチャの概要

Oracle GoldenGate Classic Architectureは、様々なトポロジ間でデータを効率よく移動するために必要なプロセスとファイルを提供します。これらのプロセスとファイルがClassic Architectureの主要コンポーネントを形成します。これは以前のリリースの製品設計でした。

Oracle GoldenGate Microservices Architectureは、Oracle GoldenGate環境の一部としてREST対応サービスを提供する新しいマイクロサービス・アーキテクチャです。REST対応サービスでは、HTML5 Webページ、コマンドラインおよびAPIを介して、リモート構成、管理および監視を提供します。

使用目的

次の目的に対しては、Oracle GoldenGate Classic Architectureを使用するようにOracle GoldenGateをインストールして構成できます。
  • あるデータベースからデータ・レコードの静的抽出を行い、別のデータベースにそのレコードをロードする場合。

  • ソースとターゲットのデータ一貫性を維持するために、トランザクション・データ操作言語(DML)操作とデータ定義言語(DDL)変更(サポートされるデータベースの場合)を継続的に抽出およびレプリケートする場合。

  • データベースから抽出を行い、データベース以外の場所にあるファイルにレプリケートする場合。

  • 異種データベース・ソースから取得する場合。

次の用途には、Oracle GoldenGate Microservices Architectureを使用するように、Oracle GoldenGateをインストールして構成できます。
  • ストリーミング・データ用の全面的にセキュアなHTTPSインタフェースとセキュアWebSocketを備えている、大規模デプロイメントおよびクラウド・デプロイメント。

  • Oracle GoldenGate環境の複数実装の管理や、Oracle GoldenGateの設定とモニタリングの様々な機能へのユーザー・アクセスの制御を簡略化する場合。

  • システム管理のデータベース・シャードをサポートして、きめ細かいマルチマスター・レプリケーションを実現する場合。このとき、すべてのシャードが書込み可能になり、各シャードをシャードグループ内の他のシャードに部分的にレプリケートできます。

  • 次の機能をサポートする場合:

    • シン・クライアントおよびブラウザベースのクライアント

    • ネットワーク・セキュリティ

    • ユーザー認可

    • 分散デプロイメント

    • リモート管理

    • パフォーマンスのモニタリングおよびオーケストレーション

    • Oracle Database環境の他のシステムやサービスとの調整。

    • Oracle GoldenGateのアプリケーションへのカスタム埋込み、またはセキュアなリモートHTML5アプリケーションの使用。

サポートされるデータベースについて

Classic Architectureでは、動作保証マトリックスで示すように、サポート対象のすべてのデータベースがサポートされます。

MAでは、Oracleデータベースのみがサポートされます。

Oracle GoldenGateでサポートされる処理方法およびデータベース

Oracle GoldenGateでは、エンタープライズの複数の異機種プラットフォーム間において、トランザクション・レベルでデータを交換および操作できます。トランザクションの整合性を維持したまま、既存インフラストラクチャへのオーバーヘッドを最小限に抑えて、コミットされたトランザクションを移動します。そのモジュール型のアーキテクチャによって、選択したデータ・レコード、トランザクション変更およびDDL(データ定義言語)変更を様々なトポロジ間で柔軟に抽出およびレプリケートできます。

注意:

DDLサポート、トポロジおよび取得または配信の構成はデータベース・タイプごとに異なります。サポートされる機能および構成の詳細は、『Oracle DatabaseのためのOracle GoldenGateの使用』 および『異種データベースのためのOracle GoldenGateの使用』 を参照してください。

この柔軟性と、Oracle GoldenGateのフィルタリング、変換およびカスタム処理の各機能により、次のような多くのビジネス要件に対応できます。

  • ビジネス継続性および高可用性。

  • 初期ロードおよびデータベース移行。

  • データ統合。

  • 意志決定支援およびデータ・ウェアハウス。

この図は、Oracle GoldenGateでサポートされているトポロジを示しています。

goldengate_configs2.jpgの説明が続きます
図goldengate_configs2.jpgの説明

次に、サポートされている処理方法のリストを示します。

データベース ログベース抽出(取得) 非ログベース抽出(1) (取得) レプリケーション(配信)

DB2 for i

該当なし

該当なし

X

DB2 LUW

X

該当なし

X

DB2 z/OS

X

該当なし

X

Oracle Database

X

該当なし

X

MySQL

X

該当なし

X

SQL Server

X

X

X

Informix

該当なし

該当なし

X

脚注1 非ログベース抽出では、Oracle GoldenGate APIと通信する取得モジュールを使用して、変更データをOracle GoldenGateに送信します。

Oracle GoldenGate Classic Architectureのコンポーネント

Oracle GoldenGate Classic Architectureを使用すると、コマンドラインからデータ・レプリケーションを構成して管理できます。

Oracle GoldenGate Classic Architecture

注意:

これは基本構成です。ビジネス・ニーズとユースケースに基づいて、このモデルの様々なバリエーションを構成できます。

トピック:

Managerとは

Managerは、Oracle GoldenGateの制御プロセスです。ExtractプロセスまたはReplicatプロセスを開始するには、ManagerがOracle GoldenGate構成内の各システムで実行している必要があります。

また、ExtractプロセスおよびReplicatプロセスが実行している間、Managerはリソース管理機能を実行するために稼働し続ける必要があります。1つのManagerプロセスで、複数のExtractまたはReplicatプロセスを制御できます。

Managerは次の機能を実行します。

  • Oracle GoldenGateプロセスを起動します

  • 動的プロセスを起動します

  • プロセスのポート番号を管理します

  • 保持ルールに基づいて証跡ファイルを消去します

  • イベント、エラーおよびしきい値レポートを作成します

1つのManagerプロセスで、複数のExtractまたはReplicatプロセスを制御できます。Windowsシステムでは、Managerはサービスとして実行できます。ManagerプロセスとTCP/IP接続の構成の詳細は、https://www.oracle.com/pls/topic/lookup?ctx=en/middleware/goldengate/core/12.3.0.1/ggcon&id=GWUAD-GUID-5005AF6D-76D2-4C72-80E2-AD33C24F0C26を参照してください。

データ・ポンプとは

データ・ポンプは、ソースOracle GoldenGate構成内のセカンダリExtractグループです。

データ・ポンプを構成すると、Extractプロセスは取得したすべての操作をソース・データベースの証跡ファイルに書き込みます。データ・ポンプは、ソース・データベースの証跡ファイルを読み取り、データ操作をターゲット・データベースのリモート証跡ファイルにネットワークを介して送ります。データ・ポンプの構成はオプションですが、ほとんどの構成にお薦めします。データ・ポンプを使用しない場合、Extractは取得したすべての操作をリモート・ターゲット・データベース上の証跡ファイルにストリーミングする必要があります。一方で、データ・ポンプを使用する標準的な構成では、プライマリExtractグループがソース・システムの証跡に書き込みます。データ・ポンプは、この証跡を読み取り、データ操作をネットワーク経由でターゲットのリモート証跡に送信します。データ・ポンプによって、記憶域の柔軟性が向上すると同時に、プライマリExtractプロセスがTCP/IPアクティビティから分離されます。

通常、データ・ポンプでは、データのフィルタリング、マッピングおよび変換を実行できます

データ・ポンプは次の2つの方法で構成できます。
  • データ操作の実行: データのフィルタリング、マッピングおよび変換を実行するようにデータ・ポンプを構成できます。

  • データ操作の実行なし: データを操作せずにそのままの状態で単純に転送するパススルー・モードでデータ・ポンプを構成できます。パススルー・モードでは、オブジェクト定義を参照するすべての機能が回避されるため、データ・ポンプのスループットが向上します。

データ・ポンプの構成はオプションですが、ほとんどの構成にお薦めします。データ・ポンプを使用する理由として、次のことがあげられます。

  • ネットワークおよびターゲットの障害に対する保護: ターゲット・システムに証跡のみが存在するOracle GoldenGateの基本構成では、Extractが継続的にメモリーに抽出するデータ操作の格納場所がソース・システム上に存在しません。ネットワークまたはターゲット・システムが使用できなくなると、Extractはメモリーを使い果して異常終了する可能性があります。これに対し、ソース・システムに証跡とデータ・ポンプがあれば、取得データをディスクに移動して、プライマリExtractの異常終了を防ぐことができます。接続が回復されると、データ・ポンプは、ソース証跡からデータを取得して1つ以上のターゲット・システムに送信します。

  • データのフィルタリングまたは変換の複数フェーズによる実装。複雑なフィルタリング構成またはデータ変換構成を使用する場合、データ・ポンプを構成して、最初の変換をソース・システムまたはターゲット・システムのいずれかで(あるいは中間システムで)実行し、別のデータ・ポンプまたはReplicatグループを使用して2番目の変換を実行できます。

  • 多くのソースから中央ターゲットへのデータの統合。複数のソース・データベースと中央ターゲット・データベースとを同期する場合、抽出したデータ操作を各ソース・システムに格納し、それらの各システムでデータ・ポンプを使用してターゲット・システムの証跡にデータを送信できます。記憶域の負荷がソース・システムとターゲット・システムで分割されるため、複数のソースから送信されるデータに対応するためにターゲット・システムに大量の領域を用意する必要がなくなります。

  • 1つのソースと複数のターゲットの同期。複数のターゲット・システムにデータを送信する場合、ソース・システムで各ターゲット用のデータ・ポンプを構成できます。いずれかのターゲットに対するネットワーク接続が切断されても、他のターゲットにデータを送信できます。

Collectorとは

Collectorは、Managerプロセスによって開始され、ターゲット・システムのバックグラウンドで実行されるプロセスです。これにより、トランザクション・データはターゲット証跡に再アセンブルされます。

ManagerがExtractプロセスから接続リクエストを受信すると、Collectorがスキャンを行って使用可能なポートにバインドし、リクエスト元のExtractプロセスに割り当てるポート番号をManagerに送信します。また、CollectorはExtractプロセスによって送信される取得済データを受信して、そのデータをリモート証跡ファイルに書き込みます。

ネットワーク接続が必要なときにCollectorはManagerによって自動的に起動されるので、Oracle GoldenGateユーザーがCollectorを操作する必要はありません。Collectorは1つのExtractプロセスからしか情報を受信できないので、使用するExtractごとにCollectorが1つ存在します。Collectorは、関連するExtractプロセスが終了すると終了します。

注意:

Collectorは、必要に応じて手動で実行できます。これは、通常の動的Collectorと対比して、静的Collectorと呼ばれます。複数のExtractプロセスで1つの静的Collectorを共有できますが、1対1の比率が最適です。静的Collectorを使用すると、プロセスを確実に特定のポートで動作させることができます。
デフォルトでは、Extractがソース・システムからターゲットのCollectorに対してTCP/IP接続を開始しますが、Collectorがターゲットから接続を開始するようにOracle GoldenGateを構成することもできます。ターゲットから接続を開始する必要があるのは、たとえば、ターゲットが信頼できるネットワーク・ゾーンにある一方で、ソースのネットワーク・ゾーンの信頼度がそれより低い場合です。

GGSCIとは

Oracle GoldenGate Software Command Interface (GGSCI)コマンドを使用してデータ・レプリケーションを作成できます。これは、ユーザーとOracle GoldenGate機能コンポーネント間のコマンド・インタフェースです。

GGSCIは、Oracle GoldenGateのコマンドライン・インタフェースです。GGSCIを使用して、Oracle GoldenGateを構成、制御および監視する全種類のコマンドを発行できます。

GGSCIを起動するには、ディレクトリをOracle GoldenGateインストール・ディレクトリに変更してから、ggsci実行可能ファイルを実行します。

Oracle GoldenGateコマンドの詳細は、『Oracle Fusion Middleware Oracle GoldenGateリファレンス』を参照してください。

Oracle GoldenGate Microservices Architectureのコンポーネント

Oracle GoldenGate Microservices Architectureを使用すると、HTMLユーザー・インタフェースを使用してデータ・レプリケーションを構成および管理できます。

Oracle GoldenGate MAには、5つの主要コンポーネントがあります。次の図は、セキュアなREST API環境内で、どのようにレプリケーション・プロセスが動作するかを示しています。

Oracle GoldenGate MA内のソース・デプロイメントおよびターゲット・デプロイメント間のデータ・レプリケーション・プロセス

Oracle GoldenGate MAでは、デプロイメントおよびセキュリティの構成、モニタリング、管理に必要なすべてのツールが提供されます。これは、業界標準のHTTP(s)通信プロトコルおよびJavaScript Object Notation (JSON)データ交換形式を使用して設計されています。さらに、このアーキテクチャでは、基本認証またはSecure Sockets Layerクライアント証明書を使用してクライアントのIDを確認する機能が提供されます。

次の図に、サービス・インタフェースを使用したデプロイメントの管理に使用できる様々なクライアント(Oracle製品、コマンドライン、ブラウザおよびプログラム関連REST APIインタフェース)を示します。

デプロイメントを管理するための様々な種類のクライアント

トピック:

Service Managerとは

Service Managerは、Microservices Architectureで提供される他のサービスの監視役として機能します。

Service Managerを使用すると、1つまたは複数のOracle GoldenGateデプロイメントをローカル・ホストで管理できます。

Service Managerはシステム・サービスとして実行し、デプロイメントのインベントリおよび構成情報を管理します。これにより、複数のローカル・デプロイメントを管理できます。Service Managerを実行して、インスタンスの起動と停止や、デプロイメントおよび他のサービスの問合せを行うことができます。

Administration Serverとは

Administration Serverは、Oracle GoldenGateデプロイメント内で作動しているプロセス(アクティブなプロセスとアクティブでないプロセスの両方)の管理やモニタリングを実行します。

Administration Serverは、Oracle GoldenGateデプロイメントでレプリケーション・コンポーネントを管理するための中央制御エンティティとして機能します。これを使用してローカルのExtractプロセスとReplicatプロセスを作成して管理することができ、Oracle GoldenGateがインストールされているサーバーにアクセスする必要はありません。Administration Serverの重要な機能は、すべてのHTTPまたはHTTPSクライアント(Microservices Architectureサービス・インタフェースまたはPerlやPythonなど他のクライアント)からアクセスできるREST APIサービス・インタフェースです。

また、Admin Clientを使用すると、Administration Serverと直接通信するためにREST APIコールを作成できます。詳細は、「Admin Clientとは」を参照してください

Administration Serverは、Extract、Replicatおよびパスの調整とオーケストレーションを担当して、自動化と運用管理の効率を向上させます。その処理と動作は、発行された問合せとサービス・インタフェースを介して制御されます。これらのインタフェースでは、クライアントが、REST APIインタフェースに対応するREST JSON-RPC呼出しを使用して、Administration Serverに対してコマンドや制御命令を発行できます。

Administration Serverには埋込みWebアプリケーションが含まれており、すべてのWebブラウザで直接使用できます。クライアント・ソフトウェアをインストールする必要はありません。

Administration Serverを使用して次の作成と管理を行います。

  • ExtractプロセスおよびReplicatプロセス

    • 追加、変更および削除

    • 登録および登録解除

    • 起動および停止

    • プロセスの情報、統計、レポートおよびステータス(LAGとチェックポイントを含む)の確認

    • レポートの取得およびファイルの破棄

  • 構成(パラメータ)ファイル

  • チェックポイント、トレースおよびハートビート表

  • プロシージャ・レプリケーション、スキーマおよび表のサプリメンタル・ロギング

  • カスタム・タスクおよび標準タスク(自動再起動や証跡の消去)

  • 資格証明ストア

  • 暗号化キー(MASTERKEY)

  • ユーザーの追加およびロールの割当て

Distribution Serverとは

Distribution Serverは、分散デプロイメントでのデータやコマンドの伝達と処理をサポートするために、ネットワーク・データ分散エージェントとして機能するサービスです。これは、複数のコマンドおよび複数のソース証跡ファイルからのデータ・ストリームを同時に処理できる高性能アプリケーションです。

Distribution Serverは、ソース側にある複数のデータ・ポンプ(クラシック)を1つのインスタンス・サービスで置き換えます。このサーバーは、1つまたは複数の証跡を1つまたは複数の宛先に配布し、軽量フィルタリングのみ(変換なし)を提供します。

複数の通信プロトコルを使用できるため、パスごとにネットワーク・パラメータをチューニングすることができます。次のプロトコルが含まれます。

  • Oracle GoldenGateプロトコル: サービスベースではない(クラシック)ターゲットでのDistribution ServerとCollectorの間の通信用。内部互換性のために使用されます。

    注意:

    TCP暗号化は、ClassicとMicroservicesアーキテクチャのマイクロサービス・アーキテクチャの混合環境では機能しません。Microservices ArchitectureのDistribution Serverは、デプロイメント内で実行しているClassic ArchitectureのServer Collectorとの通信に、TCP暗号化を使用するように構成することはできません。また、Microservices ArchitectureのReceiver Serverは、デプロイメント内で実行しているRMTHOST ... ENCRYPTパラメータで構成されたClassic Architectureのデータ・ポンプからの接続リクエストを受け入れることができません。

  • WebSocket: SSLセキュリティに依存するHTTPSベースのストリーミング用。

  • UDT: ワイド・エリア・ネットワーク用。

  • クラウド環境のプロキシ・サポート:

    • SOCKS5: 任意のネットワーク・プロトコル。

    • HTTP: HTTPタイプのプロトコルのみ(WebSocketを含む)。

  • パッシブDistribution Server: リモート・サイトからパス作成を開始します。パスはソースから宛先へのレプリケーション構成ですが、このリリースには含まれません。

注意:

このサービスによるコンテンツの変換はありません。

Receiver Serverとは

Receiver Serverは、受け取るすべての証跡ファイルを処理する中央制御サービスです。これはDistribution Serverと連携して、Classic Architectureのポンプとの互換性をリモート・クラシック・デプロイメントに提供します。

Receiver Serverは、ターゲット側にある複数の個別のCollectorを1つのインスタンス・サービスによって置き換えます。

Receiver Serverを使用して次を行います。

  • パス・イベントの監視

  • 受信パスのステータスの問合せ

  • 受信パスの統計の表示

  • パスの問題の診断

WebSocketは、デフォルトでHTTPSによって開始される全二重ストリーミング・プロトコルであり、Receiver Serverによって使用されます。SSLセキュリティを使用してデータを完全に保護することができます。Receiver Serverは、図2-1に示すようにHTTPのフォワードおよびリバース・プロキシ・サーバーをシームレスに移動できます。

図2-1 Receiver Serverの通信

Receiver Serverの通信

さらに、Receiver Serverでは次のプロトコルもサポートされます。

  • UDT: ワイド・エリア・ネットワーク用のUDPベースのプロトコル。詳細は、http://udt.sourceforge.net/を参照してください。

  • クラシックOracle GoldenGateプロトコル: Distribution ServerがCollectorと通信し、データ・ポンプがReceiver Serverと通信するためのクラシック・デプロイメント用。

注意:

TCP暗号化は、ClassicとMicroservicesアーキテクチャのマイクロサービス・アーキテクチャの混合環境では機能しません。Microservices ArchitectureのDistribution Serverは、デプロイメント内で実行しているClassic ArchitectureのServer Collectorとの通信に、TCP暗号化を使用するように構成することはできません。また、Microservices ArchitectureのReceiver Serverは、デプロイメント内で実行しているRMTHOST ... ENCRYPTパラメータで構成されたClassic Architectureのデータ・ポンプからの接続リクエストを受け入れることができません。

Performance Metrics Serverとは

Performance Metrics Serverは、メトリック・サービスを使用してインスタンス・デプロイメントのパフォーマンス結果を収集して格納します。このメトリックの収集とリポジトリは、管理レイヤーの情報収集とは別に行われます。

他の埋込みWebアプリケーションを使用してパフォーマンス・メトリックをモニタリングし、そのデータを使用して最高のパフォーマンスを得られるようにデプロイメントをチューニングすることができます。すべてのOracle GoldenGateプロセスは、メトリックをPerformance Metrics Serverに送信します。Performance Metrics ServerはMicroservices ArchitectureClassic Architectureの両方で使用できます。

Performance Metrics Serverを使用して次を行います。

  • 様々なメトリックの問合せと、サービスのJSON形式またはクラシックXML形式でのレスポンスの受取り

  • サードパーティのメトリック・ツールの統合

  • エラー・ログの表示

  • アクティブなプロセス・ステータスの表示

  • システム・リソース使用率のモニタリング

Admin Clientとは

Admin Clientはコマンドライン・ユーティリティです(クラシックGGSCIユーティリティに似ています)。これは、Oracle GoldenGateを構成、制御および監視するすべてのコマンドを発行するために使用できます。

Admin Clientは、MAを使用しない場合にプロセスの作成に使用されるスタンドアロン・アプリケーションです。これは、MAのサーバーによって使用されません。たとえば、Admin Clientを使用すると、新しいExtractの作成、REST APIを使用するカスタムExtractアプリケーションの作成、MAのAdministration Serverを使用したExtractの構成に必要なすべてのコマンドを実行できます。

注意:

OGG_HOMEOGG_VAR_HOMEおよびOGG_ETC_HOMEが環境で正しく設定されていることを確認してください。

環境変数の詳細は、環境変数の設定に関する項を参照してください。

Admin Clientを使用する方法は、MA設計のサポートと似ていますが異なる部分もあります。

表2-1 Admin Client操作とGGSCI操作

GGSCI Admin Client

ローカル・デプロイメントに接続

任意のMAデプロイメントに接続

ローカル・マシン・アクセス(通常はSSH)が必要

HTTPまたはHTTPSアクセスが必要

アプリケーション・ロジックがローカルで実行

アプリケーション・ロジックがリモートで実行

DBMSへの接続が必要

DBMSへの接続は不要

オペレーティング・システムのセキュリティを使用

MAのセキュリティを使用

認証と認可は1回

操作のたびに認証と認可

特別接続セマンティクスなし

CONNECTコマンドが必要

USERIDPASSWORDおよびUSERIDALIASをサポート

USERIDALIASのみサポート

ADD EXTRACTの前にREGISTER EXTRACT

ADD EXTRACTの後でREGISTER EXTRACT

セキュアでない通信

SSLを使用した暗号化通信

ポンプ・プロセスを使用

Distribution Serverを使用

Admin Clientは、GGSCIを基盤として設計されています。次の表に、Admin Clientの新しいコマンド、削除されたコマンドおよび非推奨になったコマンドを示します。

表2-2 Admin Clientのコマンド

新しいコマンド 削除されたコマンドおよびプロセス: 非推奨になったコマンド
CONNECT
DISCONNECT
[START | STATUS | STOP] SERVICE
[ADD | ALTER | DELETE | INFO | 
[KILL START | STATS | STOP] 
[EDIT | VIEW] GLOBALS 
CD
* MGR 
* JAGENT 
* CREATE DATASTORE 
SUBDIRS 
FC 
DUMPDDL
INFO MARKER 
ADD CREDENTIALSTORE
[CREATE | OPEN] WALLET

Microservices Architecture実装のロードマップ

Microservices ArchitectureはREST APIに基づいています。インストールされたMicroservices Architectureには、HTML5インタフェース、REST APIおよびコマンドラインを介してアクセスできます。

Microservices Architectureの使用を開始するには、次にアクセスできる必要があります。
  • Oracle GoldenGate Microservices Architectureの接続先となるデータベース。

  • Oracle GoldenGateユーザーを構成する必要があります。

このトピックでは、Microservices Architectureのコンポーネントとクライアントを実装するためのロードマップを説明します。

表2-3 Oracle GoldenGate Microservices Architectureの実装のロードマップ

タスク 詳細情報

MAのインストール

『Oracle GoldenGateのインストール』

Service Managerの起動

Service Managerの接続方法に関する項

サーバーの起動

Service Managerホームページのクイック・ツアーに関する項

(オプション)Admin Clientの起動

Admin Clientの使用方法に関する項