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

Oracle GoldenGateは、Classic ArchitectureMicroservices (Microservices)の2つのアーキテクチャをサポートしています。

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

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

  • Oracle GoldenGate for Big Dataを使用してサポートされているデータベース・ソースからデータを抽出し、ビッグ・データ・ターゲットやファイル・ターゲットにレプリケートする場合。

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

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

X Microservices Architecture Classic Architecture

アーキテクチャの概要

Oracle GoldenGate Microservices Architectureにより、Oracle GoldenGate環境の一部としてRESTサービスを使用できるようになります。これは、Oracle GoldenGate 12c (12.3.0.1)リリースで導入されました。REST対応サービスには、Webベースのコンソール、拡張されたコマンドライン・インタフェース、PL/SQLおよびスクリプト言語を使用したリモート構成、管理および監視に利用できるAPIエンドポイントが用意されています。

Oracle GoldenGate Classic Architectureは、エンタープライズ・レプリケーション本来のアーキテクチャです。これらのプロセスとファイルは、Classic Architectureの主要なコンポーネントを形成し、Oracle GoldenGate 12c (12.3.0.1)リリースまでは主要な製品インストール方法でした。

使用目的

次の用途には、Oracle GoldenGate Microservicesを使用するようにOracle GoldenGateをインストールして構成できます。
  • Oracle GoldenGate環境の複数実装の管理や、Oracle GoldenGateの設定とモニタリングの様々な機能へのユーザー・アクセスの制御を簡略化する場合。

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

  • 埋込みのセキュアなWebサービスを使用すると、Webブラウザを使用してOracle GoldenGateを構成および管理できます。

  • ストリーミング・データ用の全面的にセキュアなHTTPSインタフェースとセキュアWebSocketを備えている、大規模デプロイメントおよびクラウド・デプロイメント。

Oracle GoldenGate Classic Architectureを使用するようにOracle GoldenGateをインストールして構成できるのは、次のシナリオで説明されているように、そのプラットフォームでMAリリースが利用できない場合のみです。
  • あるデータベースからデータ・レコードの静的抽出を行い、別のデータベースにそのレコードをロードする場合。

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

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

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

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

MAでは、エンドツーエンドのMA専用トポロジ向けにOracleデータベースと異種データベースがサポートされています。MAからクラシックへ、およびクラシックからMAへの通信が可能です。

詳細は、MAからクラシックへの接続およびクラシックからMAへの接続を参照してください。

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

トピック:

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

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

ノート:

Microservices Architectureでのレプリケーションの動作はClassic Architectureにおける動作と同じです。DMLとDDLのレプリケーションは変わりません。サポートされる機能および構成の詳細は、『Oracle DatabaseのためのOracle GoldenGateの使用』 および『異種データベースのためのOracle GoldenGateの使用』 を参照してください。

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

データベース DDLサポート ログベース抽出(取得) 非ログベース抽出(取得) 適用(配信)

DB2 for i

不可

該当なし

X

DB2 LUW

不可

X

該当なし

X

DB2 z/OS

不可

X

該当なし

X

Oracle Database

不可

X

該当なし

X

MySQL

不可

X

該当なし

X

PostgreSQL (取得および配信)

不可

該当なし

SQL Server

不可

該当なし

脚注1

X

TimesTen (ターゲットのみ)

不可

該当なし

該当なし

Terradata

不可

該当なし

該当なし

X

脚注1 変更データの抽出は、SQL Serverチェンジ・データ・キャプチャ機能によって有効化され移入されるSQL Serverキャプチャ・インスタンスから行われます。

ノート:

DDLは、類似環境同士でのみサポートされます。たとえば、OracleからOracleへのDDLはサポートされますが、OracleからSQL Serverの場合はサポートされません。現時点では、OracleのみでDDLがサポートされています。

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

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

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

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

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

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

ggcon_dt_004a_clients.pngの説明が続きます
図ggcon_dt_004a_clients.pngの説明

トピック:

2.2.1 デプロイメントとは

デプロイメントとは、Oracle GoldenGate Microservicesにユーザーの作成が可能になるように設定し、セキュアなSSL環境を作成するかどうかを選択し、Oracle GoldenGate Microservices Architectureで提供される様々なマイクロサービスのホストとポートを定義するための構成です。初めてデプロイメントを追加するときには、新しいService Managerを設定した後、既存のService Managerにデプロイメントをさらに追加できます。デプロイメントのこれらの機能の詳細は、デプロイメントおよびサービスの使用を参照してください。

2.2.2 Microservices WebインタフェースおよびREST APIとは

Microservices Architectureには、デプロイメントを管理、監視および保護するためのHTML5ベースのWebインタフェースが含まれています。このWebインタフェースには、各マイクロサービスおよびService Managerに固有のURLを使用してアクセスできます。Webインタフェースには、Service Manager、Administration Server、Distribution Server、Receiver ServerおよびPerformance Monitoring Serverが含まれます。

これらのWebインタフェース・アクセス・ポイントを使用して、すべてのExtract、Replicatおよび分散パス・プロセスを作成および実行できます。これに加え、データベース資格証明を設定すること、デプロイメントにアクセスできるユーザーを各自のロールの定義後に追加すること、およびプロセスのパフォーマンスを監視することができます。

REST APIにより、Oracle GoldenGateのデプロイメントおよびレプリケーション・サービスを管理するためのサービス・エンドポイントが提供されます。

これらのオプションを使用して、Oracle GoldenGate Microservices Architectureの設定を操作できます。

2.2.3 Service Managerとは

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

Service Managerを使用すると、ローカル・ホスト上の1つまたは複数のOracle GoldenGateデプロイメントを管理できます。Service Managerには、Administration Serverとの1対多の関係があります。Oracle GoldenGateインストールには単一のService Managerがあり、そのService Managerの下に複数のデプロイメントを保持できます。

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

2.2.4 Administration Serverとは

Administration Serverは、Oracle GoldenGateデプロイメント内のプロセスの管理やモニタリングを実行します。

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

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

2.2.5 Receiver Serverとは

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

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

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

  • パス・イベントの監視

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

  • 受信パスの統計の表示

  • パスの問題の診断

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

serarchwebsocket.pngの説明が続きます
図serarchwebsocket.pngの説明

さらに、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のデータ・ポンプからの接続リクエストを受け入れることができません。

2.2.5.1 ターゲット始動パスの概要

マイクロサービスのターゲット始動パスを使用すると、Receiver Serverがターゲット・デプロイメント上Distribution Serviceへのパスを開始して、証跡ファイルを取り出せるようになります。Receiver Serverはこの機能を使用して、ネットワーク・セキュリティ・ポリシーのためにソースOracle GoldenGateデプロイメントのDistribution Serverがターゲット環境のReceiver Serverへのネットワーク接続を開くことができない非武装地帯パス(DMZ)やCloud to on-premiseなどの環境用のターゲット始動パスを作成できます。

Distribution ServerはReceiver Serverへの接続を開始できないが、Receiver ServerはDistribution Serverを実行しているマシンへの接続を開始できる場合、Receiver ServerはOracle GoldenGateを使用してファイアウォールまたは非武装地帯(DMZ)を介したDistribution Serverへのセキュアまたは非セキュアなターゲット始動パスを確立し、要求された証跡ファイルを取り出します。

Receiver Serverのエンドポイントは、Receiver Serverによって証跡ファイルの取出しが開始されたことを表示します(Receiver Serverホームページのクイック・ツアーを参照)。

このオプションを有効にするには、Configuration Assistantウィザードのセキュリティ・オプションを使用します(デプロイメントの作成方法に関する項を参照)。ターゲット始動パスの作成手順は、『Oracle GoldenGate Microservices Architectureの使用』のターゲット始動分散パスの追加方法に関する項を参照してください。

2.2.6 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: リモート・サイトからパス作成を開始します。パスはソースから宛先へのレプリケーション構成ですが、このリリースには含まれません。

ノート:

Distribution Serverは、証跡内のデータをフィルタできず、すべての操作を送信します。

2.2.7 Performance Metrics Serverとは

すべてのOracle GoldenGateプロセスは、メトリックをPerformance Metrics Serverに送信します。これにより、複数のプロセスのパフォーマンスを1箇所で監視できます。

Performance Metrics Serverは、メトリック・サービスを使用してインスタンス・デプロイメントのパフォーマンス結果を収集して格納します。このメトリックの収集とリポジトリは、管理レイヤーの情報収集とは別に行われます。他の埋込みWebアプリケーションを使用してパフォーマンス・メトリックをモニタリングし、そのデータを使用して最高のパフォーマンスを得られるようにデプロイメントをチューニングすることができます。Performance Metrics ServerはMicroservicesClassic Architectureの両方で使用できます。

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

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

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

  • エラー・ログの表示

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

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

2.2.8 Admin Clientとは

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

管理クライアントは、マイクロサービスのWebユーザー・インタフェースを使用せずにプロセスを作成、変更および削除するために使用します。

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

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

GGSCI Admin Client

ローカル・マネージャ・プロセスに接続

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

ローカル・マシン・アクセスが必要

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

コマンドはローカルでのみ発行できる

コマンドはローカルまたはリモートで発行できる

GGSCI実行元のOracle GoldenGateプロセスに自動的に接続

CONNECTコマンドを使用してローカルまたはリモートのどのOracle GoldenGateデプロイメントにも接続できる

USERIDPASSWORDまたはUSERIDALIASを使用してUSERIDおよびMININGDBLOGINをサポート

DBLOGIN USERIDALIASおよびMININGDBLOGIN USERIDALIASをサポート

ADD EXTRACTの前にREGISTER EXTRACT

ADD EXTRACTの後でREGISTER EXTRACT

Extractポンプを使用して証跡ファイルを処理しそれらをターゲットに送信

Distribution Serverを使用して証跡ファイルをターゲットに送信

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

表2-1 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

2.2.9 Microservicesの重要なディレクトリおよび変数

Microservicesの設計では、インストールとデプロイメントのディレクトリ構造は簡略化されています。

このディレクトリ構造は、Linux Foundation Filesystem Hierarchy Standardに基づいています。さらに柔軟性が向上しており、デプロイメントのサブディレクトリの一部をファイル・システムの別の場所や、共有ネットワーク・デバイスを含む別のデバイス上に配置することができます。この設計は、Oracle GoldenGate Microservices Architectureがインストールされている読取り専用のOracle GoldenGateホーム・ディレクトリからなり、カスタム・デプロイメント固有のディレクトリが次のように作成されます。

  • bin

  • cfgtoollogs

  • deinstall

  • diagnostics

  • include

  • install

  • inventory

  • jdk

  • jlib

  • lib

    • instantclient

    • sql

    • utl

  • OPatch

  • oraInst.loc

  • oui

  • srvm

次の図に、Services Manager (srvm)ディレクトリの下のファイルおよびディレクトリを示します。

次の表では、Microservicesの重要なディレクトリ、およびOracle GoldenGateインストール中にそれらのディレクトリを参照する際に使用される変数を説明します。例または手順にこれらの変数が含まれているときは、実際の組織のトポロジにおける対応するディレクトリ・パスのフル・パスで変数を置き換えます。

ディレクトリ名 変数 説明 デフォルト・ディレクトリ・パス

Oracle GoldenGateホーム

OGG_HOME

ホスト・コンピュータに作成されるOracle GoldenGateホームは、製品をインストールする際に選択するディレクトリです。この読取り専用ディレクトリには、製品のバイナリ、実行可能ファイルおよびライブラリ・ファイルが含まれます。

/ogg_install_location

デプロイメント構成ホーム

OGG_CONF_HOME

各デプロイメントの情報および構成アーティファクトが格納される場所。

/ogg_deployment_location/etc/conf

デプロイメント・セキュリティ・ホーム

OGG_SSL_HOME

各デプロイメントのセキュリティ・アーティファクト(証明書、ウォレット)が格納される場所。

/ogg_deployment_location/etc/ssl

デプロイメント・データ・ホーム

OGG_DATA_HOME

各デプロイメントのデータ・アーティファクト(証跡ファイル)が格納される場所。

/ogg_deployment_location/var/lib/data

デプロイメント変数ホーム

OGG_VAR_HOME

各デプロイメントのロギングおよびレポート処理アーティファクトが格納される場所。

/ogg_deployment_location/var

デプロイメントetcホーム

OGG_ETC_HOME

デプロイメントの構成ファイル(パラメータ・ファイルも含む)が格納される場所。

/ogg_deployment_location/etc

これらのファイルの格納場所をカスタマイズするために、これらすべてのデフォルトの場所を変更できます。

OGG_VAR_HOMEがローカル・ディレクトリ、OGG_HOMEが共有の読取り専用リモート・ディレクトリという構成では、ローカルOGG_VAR_HOMEを含む多くのデプロイメントが1つの読取り専用共有OGG_HOMEを共有できます。

このディレクトリ設計では単純な手動アップグレードが促進されます。アップグレードするには、サービスを停止し、Webインタフェース(またはRESTコマンド)でOGG_HOMEを設定して、プロセスを再起動します。再起動時に、更新された環境変数がOracle GoldenGateによって採用されます。Service ManagerのOGG_HOMEディレクトリ・パスを新しいOracle GoldenGateホーム・ディレクトリに変更すると、アップグレードが完了し、デプロイメントが新しいOracle GoldenGateリリースを使用するように簡単に切り替えられます。Microservicesサーバー、ExtractプロセスおよびReplicatプロセスを再起動します。

次の表では、Microservices専用のプログラムおよびユーティリティを説明します。$OGG_HOME/lib/instantclientも設定する必要があります(データベース接続に使用される他のライブラリよりも設定が必要)。

名前 説明 デフォルト・ディレクトリ

adminclient

Admin Clientは、MA UIを使用するかわりに、プロセスの作成に使用するスタンドアロンのコマンドライン・インタフェースです。

$OGG_HOME/bin

adminsrvr

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

$OGG_HOME/bin

distsrvr

Distribution Serverは、分散デプロイメントでのデータやコマンドの伝達と処理をサポートするために、ネットワーク・データ分散エージェントとして機能するサービスです。

$OGG_HOME/bin

extract

Extractデータ・プロセス。

$OGG_HOME/bin

oggca.sh

Microservices Configuration Assistant。

$OGG_HOME/bin

orapki

公開キー・インフラストラクチャの構成要素(ウォレットや証明書失効リストなど)を管理するためのユーティリティ

$OGG_HOME/bin

pmsrvr

Performance Metrics Serverは、メトリック・サービスを使用してインスタンス・デプロイメントのパフォーマンス結果を収集して格納します。

$OGG_HOME/bin

recvsrvr

Receiver Serverは、受け取るすべての証跡ファイルを処理する中央制御サービスです。

$OGG_HOME/bin

replicat

Replicatデータ・プロセス。

$OGG_HOME/bin

ServiceManager

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

$OGG_HOME/bin

crypto

$OGG_HOME/lib

htdocs

すべてのサーバーのMicroservices HTMLページ。

$OGG_HOME/lib

info

すべてのサーバーのMicroservices HTMLページをサポートする各種ヘルプ・ファイル。

$OGG_HOME/lib

sql

ユーティリティのhealthchecklegacyおよびshardingが格納されているSQLディレクトリ。

$OGG_HOME/lib

SQLPLUS

様々なコマンドを実行するためのユーティリティ。

$OGG_HOME/lib

utl

ユーティリティのinstallloggingreverseproxyおよびshardingが格納されているユーティリティ・ディレクトリ。

$OGG_HOME/lib

2.2.10 Microservices実装のロードマップ

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

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

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

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

タスク 詳細情報

Microservicesのインストール

Oracle Database用のMicroservices Architectureのインストール

Service Managerの起動

Service Managerを起動および停止する方法

Microservicesの起動

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

プロセスの起動

Administration Serverホームページのクイック・ツアー

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

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

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

Oracle GoldenGate Classic Architectureを使用すると、コマンドラインからレプリケーションの環境を構成および管理できます。

logicalarch2.pngの説明が続きます
図logicalarch2.pngの説明

ノート:

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

トピック:

2.3.1 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接続の構成の詳細は、Managerプロセスの構成に関する項を参照してください。

2.3.2 データ・ポンプとは

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

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

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

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

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

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

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

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

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

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

2.3.3 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を構成することもできます。ターゲットから接続を開始する必要があるのは、たとえば、ターゲットが信頼できるネットワーク・ゾーンにある一方で、ソースのネットワーク・ゾーンの信頼度がそれより低い場合です。

2.3.4 GGSCIとは

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

管理クライアントまたはGGSCIを起動するには、現在の作業ディレクトリをOracle GoldenGateホーム・ディレクトリ(OGG_HOME)に変更する必要があります。

ノート:

管理クライアントまたはGGSCIを起動する前に、環境変数OGG_HOMEおよびOGG_VAR_HOMEを設定する必要があります。

現在の作業ディレクトリをOracle GoldenGateホーム・ディレクトリに設定しない場合、次のようなエラーが発生する可能性があります。

GGSCI (20) 2> stop mgr 
Manager process is required by other GGS processes. Are you sure you want to stop it (y/n)?y
Transparent Integration with XAG is enabled. Sending the command STOP MANAGER to XAG...
ERROR: No Oracle GoldenGate instance is found in XAG resource list.

GGSCIの場合は、ggsci実行可能ファイルを実行します。

管理クライアントの場合は、次のように$OGG_HOME/binに移動して./adminclientコマンドを実行します。
[oracle@bigdatalite bin]$ ./adminclient
Oracle GoldenGate Administration Client for Oracle
Version 19.1.0.0.0 OGGCORE_19.1.0.0.0_PLATFORMS_yymmdd.HHMM_FBO

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.

Linux, x64, 64bit (optimized) on Dec 31 2016 23:58:36
Operating system character set identified as UTF-8.

OGG (not connected) 1> 

2.4 共通データ・レプリケーション・プロセス

Oracle GoldenGateの2つのアーキテクチャに共通するデータ・レプリケーション・プロセスがいくつかあります。

トピック:

2.4.1 Extractとは

Extractは、ソース・データベースに対して実行するように構成されたプロセスです。あるいは、どこか他の場所にある実際のソース・データベースで生成されたデータを取得するダウンストリーム・マイニング・データベース(Oracleのみ)上で実行するように構成されたプロセスです。このプロセスは、Oracle GoldenGateの抽出すなわちデータ取得メカニズムです。

Extractは次のユースケースにあわせて構成できます。
  • 初期ロード: Oracle GoldenGateを初期ロード用に設定すると、Extractプロセスは、現在の静的なデータ・セットをソース・オブジェクトから直接取得します。

  • 変更同期: ソース・データと別のデータセットとの同期を維持するようにOracle GoldenGate を設定すると、Extractプロセスは、初期同期が行われた後で、構成されたオブジェクトに実行されたDML操作およびDDL操作を取得します。Extractは、データベースと同じサーバーでローカルに実行することも、オーバーヘッドを減らすためにダウンストリーム統合Extractを使用して別のサーバーで実行することもできます。操作が含まれるトランザクションのコミット・レコードまたはロールバックを受信するまで、それらの操作を格納します。ロールバックを受信すると、そのトランザクションの操作を破棄します。コミットを受信すると、トランザクションはディスク上の証跡と呼ばれる一連のファイルに永続化され、ターゲット・システムへの伝播を待つキューに入ります。各トランザクションのすべての操作は、順次編成されたトランザクション単位として、データベースにコミットされた順序(コミット順序)で証跡に書き込まれます。この設計によって、処理速度とデータ整合性の両方が保証されます。

    ノート:

    Extractでは、Extract構成に存在しないオブジェクトに対する操作は無視されます。この動作は、Extract構成に存在するオブジェクトに対する操作もそのトランザクションに含まれている場合にも同様です。
Extractプロセスは、次のタイプのデータ・ソースからデータを抽出するように構成できます。
  • ソース表: このソース・タイプは初期ロードで使用されます。

  • データベースのリカバリ・ログまたはトランザクション・ログ: ログから取得する場合、実際の方法はデータベースのタイプによって変わります。このソース・タイプの例として、Oracle Databaseのredoログがあります。

2.4.2 証跡とは

証跡とは、Oracle GoldenGateがデータベース変更の継続的な抽出およびレプリケーションをサポートするために、取得した変更を格納するディスク上の一連のファイルです。

証跡は、Oracle GoldenGateの構成方法に応じて、ソース・システム、中間システム、ターゲット・システムのいずれか、またはこれらを組み合せたシステムに配置できます。これは、ローカル・システムではExtract証跡(またはローカル証跡)と呼ばれます。リモート・システムでは、リモート証跡と呼ばれます。Oracle GoldenGateでは、記憶域として証跡を使用することで、データの正確性とフォルト・トレランスをサポートします。また、証跡の使用により、抽出アクティビティとレプリケーション・アクティビティを相互に独立して実行できます。これらのプロセスが分離されることで、データを処理して配信する方法の選択肢が広がります。たとえば、変更を継続的に抽出してレプリケートするかわりに、変更を継続的に抽出しながら、ターゲット・アプリケーションの必要に応じて後からいつでもターゲットにレプリケートできるように、それらの変更を証跡に格納することができます。

また、証跡を使用することで、Oracle Databaseが異種環境で作動できます。証跡ファイルにはデータが一定の形式で格納されるため、サポートされるすべてのデータベースに対してReplicatプロセスが読み取ることができます。詳細は、「Oracle GoldenGate証跡について」を参照してください。

証跡ファイルに書き込むプロセス:

Oracle GoldenGate Classicでは、Extractおよびデータ・ポンプ・プロセスが証跡に書き込みます。所定のローカル証跡に書き込めるのは、1つのExtractプロセスのみです。すべてのローカル証跡で異なるフルパス名を使用する必要がありますが、違うパスであれば同じ証跡名を使用できます。

複数のデータ・ポンプ・プロセスで、それぞれ同じ名前の証跡に書き込むことはできますが、物理証跡自体は異なるリモート・システム(データ分散トポロジなど)に配置する必要があります。たとえば、データ・ポンプpumpmとデータ・ポンプpumpnの両方をsys01に配置して、リモート証跡aaに書き込むことができます。この場合、pumpmはsys02の証跡aaに、pumpnはsys03の証跡aaに書き込むことができます。

Oracle GoldenGate MAでは、Distribution Serverと分散パスを使用してリモート証跡を書き込みます。

証跡ファイルを読み取るプロセス:

データ・ポンプ、ReplicatプロセスおよびDistribution Serverが証跡ファイルを読み取ります。データ・ポンプは、Extractプロセスにリンクしているローカル証跡からDML操作およびDDL操作を抽出し、必要に応じてさらに処理を行い、後続のOracle GoldenGateプロセス(通常はReplicatだが、必要に応じて別のデータ・ポンプの場合もある)によって読み取られる証跡にデータを転送します。Distribution Serverプロセスは、証跡ファイルを読み取り、ネットワークを介して、待機中のReceiver Serverプロセスまたはコレクタにそれを送信します。

Replicatプロセスは証跡を読み取り、レプリケートされたDML操作およびDDL操作をターゲット・データベースに適用します。

証跡ファイルの作成およびメンテナンス:

証跡ファイルは処理中に必要に応じて作成されます。ADD RMTTRAILコマンドまたはADD EXTTRAILコマンドで証跡をOracle GoldenGate構成に追加するときに、2文字の証跡名を指定します。デフォルトでは、証跡は、Oracle GoldenGateディレクトリのdirdatサブディレクトリに格納されます。TRAIL_SEQLEN_9D | TRAIL_SEQLEN_6D GLOBALSパラメータを使用して、6桁または9桁の順序番号を指定できます。TRAIL_SEQLEN_9Dがデフォルトで設定されています。可能な場合は、9桁の順序番号を使用することをお薦めします。

新しいファイルを作成すると、各ファイルが2文字の証跡名を継承し、それに一意の9桁の順序番号(000000000から999999999)が追加されます(たとえば、c:\ggs\dirdat\tr000000001のようになります)。順序番号が999,999,999または999,999 (前の設定によって異なります)に達すると、Extractプロセスは異常終了します。

順序番号のリセット方法の詳細は、Doc ID 1060554.1を参照してください。証跡ファイルは、ManagerパラメータのPURGEOLDEXTRACTSを使用して、ルーチンごとに消去できます。

異なるオブジェクトまたはアプリケーションからデータを分離するために、複数の証跡を作成できます。TABLEまたはSEQUENCEパラメータで指定したオブジェクトを、Extractパラメータ・ファイルのEXTTRAILまたはRMTTRAILパラメータで指定した証跡にリンクします。スループットを最大化し、システムのI/O負荷を最小化するため、抽出データの証跡に対する入出力は、サイズの大きいブロック単位で行われます。トランザクション順序は保持されます。

既存の証跡を9桁の順序番号に変換する方法

指定したextractグループについて、証跡ファイルを6桁から9桁のチェックポイント・レコードに変換できます。convchkネイティブ・コマンドを使用して、Extractを正常に停止して9桁の証跡に変換してから、次のようにconvchkを使用してアップグレードします。

convchk extract trail seqlen_9d

Extractを起動します

9桁から6桁の証跡にダウングレードするには、このconvchkコマンドを使用して、同じ手順を実行します。

convchk extract trail seqlen_6d

ノート:

抽出ファイル: 抽出したデータを証跡ではなく抽出ファイルに格納するようにOracle GoldenGateを構成できます。抽出ファイルは、単一のファイルとすることも、オペレーティング・システムのファイル・サイズ制限を考慮して複数のファイルにロールオーバーするように構成することもできます。これは証跡と似ていますが、チェックポイントは記録されません。実行中に1つ以上のファイルが自動的に作成されます。証跡に適用されるバージョニング機能と同じ機能が、抽出ファイルにも適用されます。

2.4.3 Replicatとは

Replicatは、データをターゲット・データベースに届けるプロセスです。ターゲット・データベースの証跡ファイルを読み取り、DML操作またはDDL操作を再構成して、ターゲット・データベースに適用します。

Replicatプロセスは動的SQLを使用して1つのSQL文を一度だけコンパイルした後、異なるバインド変数を使用してこの文を何回も実行します。レプリケートした操作をターゲット・データベースに適用する前に一定時間待機するようにReplicatプロセスを構成できます。遅延が推奨される場合として、たとえば、間違ったSQLの伝播を防ぐ場合、異なるタイムゾーンにわたるデータの受信を制御する場合、または他の計画済イベントの発生に備えて時間を考慮する場合があげられます。

Oracle GoldenGateの2つの共通ユースケースではReplicatプロセスの機能は次のとおりです。
  • 初期ロード: 初期ロード用にOracle GoldenGateを設定すると、Replicatプロセスは静的データ・コピーをターゲット・オブジェクトに適用するか、高速なバルク・ロード・ユーティリティにデータをルーティングします。

  • 変更同期: ターゲット・データベースとソース・データベースとの同期を維持するようにOracle GoldenGateを設定すると、Replicatプロセスは、データベース・タイプに応じてネイティブ・データベース・インタフェースまたはODBCを使用して、ソース操作をターゲット・オブジェクトに適用します。

複数のReplicatプロセスを1つ以上のExtractプロセスおよびデータ・ポンプとともにパラレルに構成して、スループットを向上できます。データ整合性を維持するため、プロセスのセットごとに異なるオブジェクトを処理します。Replicatプロセスを区別するには、それぞれにグループ名を付けます

複数のReplicatプロセスを使用しない場合には、1つのReplicatプロセスを並列、調整、統合モードで構成できます。

  • 並列モードの並列Replicatでは、非統合オプションを使用するほとんどのデータベースがサポートされています。並列Replicatは完全なメタデータを持つ証跡からのデータ・レプリケーションのみをサポートし、従来の証跡形式を必要とします。統合Replicatと同様に、トランザクション間の依存関係が考慮されます。データベースの外部で依存性の計算、マッピングの並列処理および適用が実行されるため、負荷が別のサーバーに移されます。このプロセスでトランザクションの整合性が維持されます。さらに、並列Replicatは、大きなトランザクションをチャンクに分割してパラレルに適用することで、大きなトランザクションのパラレル適用をサポートします。

    Oracleのみが統合モードの並列Replicatをサポートしており、これは、AutoCDR、プロシージャ・レプリケーションなどの特定の機能、またはデータベース内でのDML_HANDLERSの実行に必要です。

    並列Replicatの概要に関する項を参照してください。

  • 調整モードは、Oracle GoldenGateでサポートされているすべてのデータベースに対応しています。調整モードでは、Replicatプロセスがスレッド化されます。1つのコーディネータ・スレッドが、レプリケートされたSQL操作をパラレルに実行する1つ以上のスレッドを作成して調整します。調整Replicatプロセスは1つのパラメータ・ファイルを使用し、1つの単位として監視および管理されます。詳細は、調整Replicatモードの概要に関する項を参照してください。

  • 統合モードはOracle Databaseリリース11.2.0.4以上でサポートされます。統合モードでは、Replicatプロセスは、Oracle Database内で使用可能な適用処理機能を利用します。単一のReplicat構成内で、適用サーバーと呼ばれるインバウンド・サーバーの複数の子プロセスがトランザクションをパラレルに適用し、元のトランザクションのアトミック性を保持します。統合モードの詳細は、「統合Replicatモードについて」を参照してください。

Replicatは、レプリケートされた操作をターゲット・データベースに適用する前に一定の時間待機するよう遅延させることができます。遅延が推奨される場合として、たとえば、間違ったSQLの伝播を防ぐ場合、異なるタイムゾーンにわたるデータの受信を制御する場合、または他の計画済イベントの発生に備えて時間を考慮する場合があげられます。遅延の長さは、DEFERAPPLYINTERVALパラメータで制御します。