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

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

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

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

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

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

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

X Classic Architecture Microservices Architecture

アーキテクチャの概要

Oracle GoldenGate Classic Architectureは、エンタープライズ・レプリケーション本来のアーキテクチャです。このアーキテクチャは、様々なトポロジにまたがってトランザクション・データを効果的に転送するために必要なプロセスとファイルを提供します。これらのプロセスとファイルは、Classic Architectureの主要なコンポーネントを形成し、Oracle GoldenGate 12c (12.3.0.1)リリースまでは主要な製品インストール方法でした。

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

使用目的

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

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

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

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

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

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

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

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

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

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

    • ユーザー認可

    • 分散デプロイメント

    • リモート管理

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

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

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

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

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

MAでは、エンドツーエンドのMA専用トポロジOracleデータベースのみがサポートされます。ただし、異機種データベースに関連付けられているソースのOracle GoldenGate ClassicをOracleに関連付けられているターゲットのOracle GoldenGate MAにレプリケートしたり、Oracleに関連付けられているソースのOracle GoldenGate MAを異機種データベースに関連付けられているターゲットのOracle GoldenGate legacyにレプリケートしたりすることは可能です。

トピック:

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

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

注意:

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

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

データベース ログベース抽出(取得) 非ログベース抽出(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

Terradata 該当なし 該当なし X

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

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

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

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

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

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

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

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

トピック:

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)

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

Receiver Serverとは

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

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

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

  • パス・イベントの監視

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

  • 受信パスの統計の表示

  • パスの問題の診断

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

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

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

注意:

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

Performance Metrics Serverとは

Performance Management Server APIにアクセスするには、Oracle GoldenGate Management Packプラグインが必要です。

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を構成、制御および監視するすべてのコマンドを発行するために使用できます。

MAを使用するかわりに、Admin Clientを使用してプロセスを作成、変更および削除します。Administration ServerやDistribution ServerなどのMAサービスでは使用されません。たとえば、Extractの作成や新しいExtractアプリケーションのカスタマイズに必要なすべてのコマンドを実行するためにAdmin Clientを使用することも、Extractの構成にMAで使用可能なAdministration Serverを使用することもできます。

注意:

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

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

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

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-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

Microservices Architecture実装のロードマップ

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

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

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

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

タスク 詳細情報

MAのインストール

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

Service Managerの起動

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

Microservicesの起動

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

プロセスの起動

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

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

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

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

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

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

注意:

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

トピック:

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/19.1/understanding&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実行可能ファイルを実行します。

注意:

GGSCIを起動する前に、環境変数OGG_HOMEを設定する必要があります。

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

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

トピック:

Extractとは

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

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

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

    注意:

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

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

  • サードパーティの取得モジュール: この方法では、データおよびメタデータを外部APIからExtract APIに渡すための通信レイヤーが提供されます。データベース・ベンダーまたはサード・パーティ・ベンダーによって、データ操作を抽出してExtractに渡すコンポーネントが用意されます。

証跡とは

証跡とは、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プロセスが証跡ファイルを読み取ります。データ・ポンプは、Extractプロセスにリンクしているローカル証跡からDML操作およびDDL操作を抽出し、必要に応じてさらに処理を行い、後続のOracle GoldenGateプロセス(通常はReplicatだが、必要に応じて別のデータ・ポンプの場合もある)によって読み取られる証跡にデータを転送します。

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がデフォルトで設定されています。

新しいファイルを作成すると、各ファイルが2文字の証跡名を継承し、それに一意の9桁の順序番号(000000000から999999999)が追加されます(たとえば、c:\ggs\dirdat\tr000000001のようになります)。順序番号が999999999に達すると、再度000000000から番号付けが始まり、前の証跡ファイルは上書きされます。証跡ファイルは、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つ以上のファイルが自動的に作成されます。証跡に適用されるバージョニング機能と同じ機能が、抽出ファイルにも適用されます。

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は、大きなトランザクションをチャンクに分割してパラレルに適用することで、大きなトランザクションのパラレル適用をサポートします。並列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パラメータで制御します。