27 Oracle GoldenGate
この章の内容は次のとおりです。
27.1 概要
Oracle GoldenGate (OGG)製品によるソリューションでは、継続的な可用性を実現し、リアルタイムの情報を提供する主要なビジネス・アプリケーションが提供されます。異種のデータベースや環境間で、キャプチャ、ルーティング、変換および配信をリアルタイムに行うことが保証されます。
Oracle GoldenGateナレッジ・モジュールを使用するには、Oracle GoldenGateの概念およびアーキテクチャを理解しておく必要があります。詳細は、OTNにあるOracle GoldenGateのドキュメントを参照してください。
http://www.oracle.com/technetwork/middleware/goldengate/overview/index.html
27.1.1 GoldenGate CDCプロセスの概要
Oracle Data Integratorでは、Oracle GoldenGateを使用してソース・データベースの変更をキャプチャして、ODI CDCフレームワークで処理できます。Oracle Data Integratorでは、Oracle GoldenGateを使用してソース・データベースからステージング・データベースへ、データをレプリケートします。このステージング・データベースには、ソース表のコピーおよびODI Changed Data Capture (CDC)インフラストラクチャが含まれ、どちらもOracle GoldenGateを使用してロードされます。
ステージング・データベースはOracleまたはTeradataスキーマに格納されます。ソース・データベースとして使用できるのは、Oracle、Microsoft SQL Server、DB2 UDBまたはSybase ASEです。この章の<database>という表記は、これらのソース・データベース・テクノロジのいずれかを意味します。
GoldenGateでのCDCの設定は、次の手順で行われます。
-
ソース表のレプリカは、Oracle Data Integratorの共通フォーマット・デザイナ機能などを使用して、ステージング・データベースに作成されます。
-
Oracle Data Integrator Changed Data Capture (CDC)は、JKM <database> to Oracle Consistent (OGG Online)またはJKM <database> to Teradata Consistent (OGG Online)のいずれかを使用して、ソース表でアクティブ化されます。
-
ジャーナルが、オンライン・モードまたはオフライン・モードのどちらかで開始されます。
-
オンライン・モード: オンライン・モードでジャーナルを開始するとGoldenGateキャプチャ(Extract)プロセスが構成および開始されてソース・データベースの変更がキャプチャされ、対応する配信(Replicat)プロセスがステージング・データベースの変更をレプリケートします。変更は、レプリケートされたソース表とCDCインフラストラクチャの両方にレプリケートされます。
GoldenGateのキャプチャおよび配信プロセスは、GoldenGate JAgentインタフェースを使用してデプロイおよび開始されます。GoldenGate JAgentを使用すると、Oracle Data IntegratorとOracle GoldenGateの間の通信が簡単になります。
-
オフライン・モード: オフライン・モードでジャーナルを開始すると、Oracle GoldenGate構成ファイルが作成され、ステージング・データベースにCDCインフラストラクチャが設定されます。この段階では、ソース・データをキャプチャするためのアクティブなプロセスは開始されません。
生成された構成ファイルを使用してOracle GoldenGateキャプチャ・プロセスが構成され、ソース・データベースからの変更のキャプチャが開始されます。また、対応する配信プロセスが構成され、ステージング・データベースへのこれらの変更のレプリケートが開始されます。変更は、レプリケートされたソース表とCDCインフラストラクチャの両方にレプリケートされます。
GoldenGateを任意に構成して、ステージング表へのソース・データの初期ロードを実行できます。
ノート:
オフライン・モードの場合、Oracle GoldenGateデータ・サーバーをトポロジ内で最初に作成する必要があります。作成手順については、Oracle GoldenGateデータ・サーバーの定義を参照してください。
-
-
ODIマッピングでは、レプリケートされた表をソースとして使用し、キャプチャされた変更を任意のODIシナリオ内でシームレスに使用できます。
27.1.2 ナレッジ・モジュール
Oracle Data Integratorには、ソースからステージング・データベースにオンライン・データをレプリケートするためのナレッジ・モジュールが用意されています。これらのリストを表27-1に示します。他のCDC JKMと同様に、Oracle GoldenGate JKMはソース・サーバーのデータをジャーナル化します。
JKM <database> to Oracle Consistent (OGG Online)とJKM <database> to Teradata Consistent (OGG Online)では、次の同じタスクが実行されます。
-
レプリケートされた表で、ODI CDCフレームワーク・インフラストラクチャの作成および管理を行います。
-
ジャーナルがオンライン・モードで開始された場合は、GoldenGate JAgentを使用してGoldenGateサーバーのOracleキャプチャおよび配信プロセスを構成および開始します。
-
ジャーナルがオフライン・モードで開始された場合は、Oracle GoldenGateキャプチャおよび配信プロセスを設定するパラメータ・ファイルおよび設定を完了する方法を説明する
Readme.txt
を生成します。 -
ソース・データベースの構成をチェックするための追加のステップを提供し、構成を修正するためのヒントを提示します。
表27-1 Oracle GoldenGateナレッジ・モジュール
ナレッジ・モジュール | 説明 |
---|---|
JKM Oracle to Oracle Consistent (OGG Online) |
Oracleステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、Oracleソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。 |
JKM DB2 UDB to Oracle Consistent (OGG Online) |
Oracleステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、IBM DB2 UDBソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。 |
JKM Sybase ASE to Oracle Consistent (OGG Online) |
Oracleステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、Sybase ASEソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。 |
JKM MSSQL to Oracle Consistent (OGG Online) |
Oracleステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、Microsoft SQL Serverソースからこのステージング・サーバーへデータをレプリケートするための、Oracle GoldenGateの構成を生成します。 |
JKM Oracle to Teradata Consistent (OGG Online) |
Teradataステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、Oracleソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。 |
JKM DB2 UDB to Teradata Consistent (OGG Online) |
Teradataステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、IBM DB2 UDBソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。 |
JKM Sybase ASE to Teradata Consistent (OGG Online) |
Teradataステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、Sybase ASEソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。 |
JKM MSSQL to Teradata Consistent (OGG Online) |
Teradataステージング・サーバーで一貫性セット・ジャーナル化のインフラストラクチャを作成し、Microsoft SQL Serverソースからこのステージング・サーバーへデータをレプリケートするためのOracle GoldenGateの構成を生成します。 |
27.2 インストールおよび構成
Oracle GoldenGateナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。
27.2.1 システム要件および動作要件
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。
http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html。
プラットフォームでサポートされるソースおよびステージング・データベースのバージョンに関して、OTNにあるOracle GoldenGateのドキュメントも参照してください。
27.2.2 テクノロジ固有の要件
キャプチャおよび配信プロセスを実行するには、ソースおよびステージング・サーバーの両方にOracle GoldenGateをインストールしておく必要があります。Oracle GoldenGateをインストールすると、GoldenGateのプロセスの実行および管理に必要なすべてのコンポーネントがインストールされます。
キャプチャまたは配信を開始するには、Oracle GoldenGateのManagerプロセスがそれぞれのシステムで稼働している必要があり、リソース管理のために、キャプチャまたは配信の実行中も稼働していることが必要です。
オンライン・ジャーナル化を実行するためには、Oracle GoldenGateのインスタンス上にOracle GoldenGate JAgentプロセスを構成し、実行する必要があります。
Oracle GoldenGateには固有の要件およびインストール手順があり、Oracle GoldenGate JKMを使用して構成されるキャプチャおよび配信プロセスを開始する前に、このインストール手順を実行しておく必要があります。詳細は、OTNにあるOracle GoldenGateのドキュメントを参照してください。
27.3 Oracle GoldenGate JKMの使用
Oracle Data Integrator統合プロジェクトでJKM <database> to Oracle Consistent (OGG Online)またはJKM <database> to Teradata Consistent (OGG Online)を使用するには、次のステップを実行する必要があります。
27.3.1 トポロジの定義
この工程には、ステージング・データ・サーバー、ソース・データ・サーバー、およびこれらのサーバーに添付される物理スキーマと論理スキーマをOracle Data Integratorで宣言することが含まれます。
この構成でトポロジを定義するには、次のタスクを実行します。
27.3.1.1 ソース・データ・サーバーの定義
Oracle GoldenGateが変更をキャプチャするソース・データ・サーバーを定義する必要があります。
標準の手順で、使用するソース・テクノロジのデータ・サーバーを作成します。詳細は、このガイドの、使用するソース・テクノロジに対応する章を参照してください。
このデータ・サーバーは、ソース・データベース・インスタンスを表します。
27.3.1.2 ソース物理スキーマの作成
「ソース・データ・サーバーの定義」で作成したデータ・サーバーの下に、物理スキーマを作成します。『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用します。
『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
27.3.1.4 ステージング物理スキーマの作成
『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用してOracleまたはTeradataの物理スキーマを作成します。
ノート:
ステージング・サーバーで定義された物理スキーマのデータ・スキーマには、Oracle GoldenGateプロセスによってキャプチャおよびレプリケートされた、変更されたレコードが含まれます。ODI CDCインフラストラクチャの格納には、作業スキーマが使用されます。
『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
27.3.1.5 Oracle GoldenGateデータ・サーバーの定義
Oracle GoldenGateデータ・サーバーはOracle Data Integrator (ODI)のOracle GoldenGate JAgentプロセスに対応しています。Oracle GoldenGate JAgentプロセスを使用すると、ODIとOracle GoldenGateサーバーの間の通信が簡単になります。ソースとターゲット両方のOracle GoldenGateサーバーのJAgentプロセスを作成する必要があります。
『Oracle Data Integratorの管理』のデータ・サーバーの作成に関する項に記載されている標準の手順で、Oracle GoldenGateテクノロジ用データ・サーバーを作成します。この項では、Oracle GoldenGateデータ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。
27.3.1.6 Oracle GoldenGate物理スキーマの作成
ODIのOracle GoldenGate物理スキーマは、Oracle GoldenGateでCDCを実行するGoldenGateのキャプチャおよび配信プロセスに対応しています。ソースGoldenGateサーバーにキャプチャ・プロセスを、ターゲットGoldenGateサーバーに配信プロセスを構成するには、Oracle GoldenGate物理スキーマを定義する必要があります。
「Oracle GoldenGateデータ・サーバーの定義」で作成したOracle GoldenGateデータ・サーバーに物理スキーマを作成します。『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用します。この項では、Oracle GoldenGateのキャプチャおよびレプリケート・プロセスを構成するための物理スキーマ作成に必須または固有のフィールドのみについて説明します。
ノート:
別の方法として、Oracle GoldenGate物理スキーマをモデルから作成することもできます。モデルからの物理スキーマ作成方法の詳細は、「モデルからのOracle GoldenGate物理スキーマの作成」を参照してください。
GoldenGateキャプチャ・プロセスのフィールド
GoldenGateキャプチャ・プロセスは、ソースGoldenGateサーバーに構成する必要があります。
-
「プロセス定義」タブで次のように設定します。
-
プロセス・タイプ: 構成するプロセスのタイプ。プロセス・タイプとして「キャプチャ」を選択します。
-
名前: Oracle Data Integratorのプロセス(物理スキーマ)の名前。プロセス名は8文字以内にする必要があり、使用できるのは大文字のみです。
-
証跡ファイル・パス: Oracle GoldenGate証跡ファイルの場所。ファイル名の部分に使用できるのは2文字のみです。
-
リモート証跡ファイル・パス: リモート証跡ファイルの場所。ファイル名の部分に使用できるのは2文字のみです。
-
証跡ファイル・サイズ: Oracle GoldenGate証跡ファイルのサイズ(MB)。
-
レポート・フェッチ: レポート情報にフェッチ統計を含めることができます。
-
レポート数頻度: 特定の間隔における合計操作数をレポートします。間隔が指定されていない場合は、パラメータ・ファイルにエントリが追加されません。
-
パラメータを選択: 使用可能なOracle GoldenGateパラメータのリスト。サポートされているデータベースのパラメータのみがリストされます。パラメータを選択して「追加」をクリックします。選択されたパラメータのテンプレートが、テキスト・ボックスに追加されます。
GoldenGateのパラメータの詳細は、OTNのOracle GoldenGateリファレンス・ガイドを参照してください。
-
配信プロセスのフィールド
GoldenGateの配信プロセスは、ターゲットGoldenGateサーバーで構成する必要があります。
27.3.1.7 Oracle GoldenGate論理スキーマの作成
「Oracle GoldenGate物理スキーマの作成」で作成したGoldenGate物理スキーマ(GoldenGateキャプチャおよび配信プロセス)の論理スキーマを作成します。キャプチャ・プロセスと配信プロセスの両方に論理スキーマを作成する必要があります。
論理スキーマを作成するには:
27.3.2 レプリケートされた表の作成
Oracle GoldenGateにより、ソース内で変更されたレコードがステージング・サーバーにレプリケートされます。このレプリケーションを実行するには、ソース表の構造をステージング・サーバーにレプリケートする必要があります。
これらのソース表をレプリケートするには:
ノート:
ダイアグラム、DDLの生成、およびインタフェースINの生成機能の詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の共通フォーマット・デザイナによるデータ・モデルの作成に関する項を参照してください。
27.3.3 統合プロジェクトの設定
Oracle GoldenGateの機能を使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。
使用するソース・データ・サーバーおよびステージング・サーバーのテクノロジに応じて、使用するプロジェクトに次のいずれかのKMをインポートします。
-
JKM Oracle to Oracle Consistent (OGG Online)
-
JKM DB2 UDB to Oracle Consistent (OGG Online)
-
JKM Sybase ASE to Oracle Consistent (OGG Online)
-
JKM MSSQL to Oracle Consistent (OGG Online)
-
JKM Oracle to Teradata Consistent (OGG Online)
-
JKM DB2 UDB to Teradata Consistent (OGG Online)
-
JKM Sybase ASE to Teradata Consistent (OGG Online)
-
JKM MSSQL to Teradata Consistent (OGG Online)
27.3.4 ソース・データストアのCDCの構成
ソース・データストアに対してチェンジ・データ・キャプチャを構成する必要があります。この構成は一貫性セット・ジャーナル化の設定に似ており、次のステップを使用して実行します。
ジャーナルの起動アクションの結果は、次のように確認できます。
-
ジャーナルをオンライン・モードで開始すると、Oracle GoldenGateプロセスが構成および開始されます。ソース・データストアで変更されたデータがステージング表でキャプチャおよびレプリケートされます。
-
ジャーナルをオフライン・モードで開始すると、Oracle GoldenGateの構成ファイルおよび
Readme.txt
ファイルが、LOCAL_TEMP_DIR KMオプションで指定されたディレクトリに生成されます。これらのファイルを使用してOracle GoldenGateプロセスの構成および開始(オフライン・モードのみ)を行えます。 -
CDCインフラストラクチャが正しく設定されます。ジャーナル化されたデータストアが「モデル」アコーディオンに表示され、ジャーナル化のアクティブ・フラグが設定されます。モデルを右クリックして「チェンジ・データ・キャプチャ」→「ジャーナル・データ」を選択すると、これらのデータストアのジャーナル化されたデータにアクセスできます。
CDCの概念情報および詳しい手順は、『Oracle Data Integratorでの統合プロジェクトの開発』のジャーナル化の使用方法に関する項を参照してください。
ノート:
このCDC構成では一貫性セット・ジャーナル化がサポートされていますが、CDCにデータストアを追加した後に、モデルの「ジャーナル化表」タブでデータストアを順序付けする必要はありません。
27.3.5 Oracle GoldenGateプロセスの構成および開始(オフライン・モードのみ)
ノート:
-
このセクションは、ジャーナルがオフライン・モードで開始された場合にのみ該当します。つまり、JKMの
ONLINE
オプションがfalse
の場合のみです。 -
JAgentへの接続には、Oracle GoldenGateのプロセスをオフライン・モードで構成する必要はありません。ただし、必要な情報はトポロジで入手可能であることが必要です。
JKMにより、LOCAL_TEMP_DIR内に、ソースおよびターゲット・オブジェクト・グループと同じ名前のフォルダが生成されます。このフォルダには次のものが含まれます。
-
Readme.txt
ファイル: Oracle GoldenGateプロセスの構成および開始の詳細な手順が含まれています。 -
src
フォルダ: ソース・サーバーのOracle GoldenGateのインストール・ディレクトリにアップロードする構成ファイルが含まれています。 -
stg
フォルダ: ステージング・サーバーのOracle GoldenGateのインストール・ディレクトリにアップロードする構成ファイルが含まれています。
それぞれの構成用にカスタマイズされた詳細な手順は、READMEファイルに含まれています。
これらの手順は、次のとおりです。
OBEY
ファイル、ggsci
およびdefgen
ユーティリティの詳細は、OTNにあるOracle GoldenGateのドキュメントを参照してください。
27.3.6 レプリケートされたデータを使用したマッピングの設計
レプリケートされたデータのデータをマッピングのソースとして使用できます。この処理は、一貫性セット・モードでジャーナル化されたソース・データストアを使用する場合と似ています。詳細は、『Oracle Data Integratorでの統合プロジェクトの開発』の変更データの使用: 一貫性セット・ジャーナル化に関する項を参照してください。
27.4 拡張構成
この項には、拡張構成に関する次の内容が含まれています。
27.4.1 初期ロードの方法
ステージング表には、構成のレプリカおよびソース表のデータが含まれます。Oracle GoldenGateプロセスでは、ソース表での変更がキャプチャされ、ターゲットに適用されます。ただし、ステージング表には、最初にソース表の元のコンテンツをロードしておく必要があります。この初期ロードは、次の方法で実行できます。
-
Oracle GoldenGateを使用: 特定のGoldenGateプロセスにより、ソース表のコンテンツ全体がステージング表にロードされます。
-
Oracle Data Integratorを使用: Oracle Data Integratorの共通フォーマット・デザイナの「インタフェースINの生成」オプション。この方法では、ODIマッピングを使用してデータを転送します。
-
データベースのバックアップ/リストア・ツールを使用して、データおよび構造をコピー。
27.4.2 レプリケーション・パフォーマンスのチューニング
次のKMオプションを使用して、レプリケーションのパフォーマンスを改善できます。
-
COMPATIBLE: このOracle固有のオプションは、PURGEキーワードの使用および統計(DBMS_STATSまたはANALYZEを使用)の収集方法に影響を及ぼします。この値を、使用するステージング・サーバーのデータベースのバージョンに設定します。
-
NB_APPLY_PROCESS: ステージング・サーバーで作成されるOracle GoldenGateの配信プロセスの数。
-
TRAIL_FILE_SIZE: Oracle GoldenGateのTrailファイルのサイズをメガバイトで指定します。
NB_APPLY_PROCESSおよびTRAIL_FILE_SIZEパラメータによるパフォーマンス・チューニングの詳細は、OTNにあるOracle GoldenGateのドキュメントを参照してください。
27.5 統合キャプチャ
統合キャプチャ・モードでは、Oracle GoldenGateのExtractプロセスでデータベース・ログマイニング・サーバーと直接通信し、データの変更を論理変更レコード(logical change records: LCR)の形式で受け取ります。
統合キャプチャの利点は、次のとおりです。
統合キャプチャでは、データベース・ログマイニング・サーバーを使用してOracle REDOストリームにアクセスするため、アーカイブ・ログの様々なコピーまたはオンライン・ログの様々なミラー・バージョン間の切替えを自動的に行うことができます。
-
データベースと完全に統合され、Oracle RAC、ASM、およびTDEと連携するために追加のステップを実行する必要がない
-
表を高速にフィルタ処理できる
-
Point-in-TimeリカバリとRAC統合をより効率的に処理できる
-
Oracle Recovery Manager (RMAN)がExtractに必要なアーカイブ・ログを自動的に保持するため、統合されたログ管理が可能になる
-
マルチテナント・コンテナ・データベースからのキャプチャがサポートされる
-
統合キャプチャと統合適用は両方ともデータベース・オブジェクトなので、オブジェクトの命名は、Oracle Databaseオブジェクトの場合と同じルールに従う
-
リリース11.2.0.4以降のソース・データベース(ソース互換性が11.2.0.4以上に設定されている)では、ログマイニング・サーバーによってDDLのキャプチャが非同期に実行され、特別なトリガー、表、またはその他のデータ・オブジェクトをインストールする必要がない
-
バージョン11.2.0.4よりも前のOracle 11gソース・データベースでExtractが統合モードになっている場合は、DDLトリガーとサポート・オブジェクトが必要になる
-
Oracle GoldenGateのアップグレードは、ユーザー・アプリケーションを停止する必要なしに実行できる
27.5.1 統合キャプチャのデプロイメント・オプション
統合キャプチャには、マイニング・データベースのデプロイ場所に応じて使用されるデプロイメント・オプションが2つあります。マイニング・データベースは、ログマイニング・サーバーがデプロイされるデータベースです。
ローカル・デプロイメント
ローカル・デプロイメントの場合、ソース・データベースとマイニング・データベースは同じです。ソース・データベースは、次の操作が行われるデータベースです。
-
REDOストリームをマイニングし、変更がキャプチャされる
-
ログマイニング・サーバーがデプロイされる
統合キャプチャはデータベースと完全に統合されるため、このモードでは、特別な設定が不要です。
ダウンストリーム・デプロイメント
ダウンストリーム・デプロイメントでは、ソース・データベースとマイニング・データベースは異なるデータベースです。ダウンストリーム・マイニング構成を使用する場合は、ソース・データベースとマイニング・データベースのプラットフォームが同じである必要があります。たとえば、ソース・データベースが64ビットWindowsで稼働している場合、ダウンストリーム・データベースも64ビットWindowsプラットフォームで実行する必要があります。
-
ダウンストリーム・データベースでログマイニング・サーバーを作成します。
-
REDOログをダウンストリーム・マイニング・データベースに配布して、その場所でキャプチャを実行するために、ソース・データベースでREDO転送を構成します。
ノート:
キャプチャのオーバーヘッドや変換によるその他のオーバーヘッドおよび本番サーバーの他の処理を軽減するには、キャプチャにダウンストリーム・マイニング・サーバーを使用することをお薦めしますが、これにはログの転送や他の構成が必要です。
27.5.2 使用する適用方法の決定
Replicatプロセスを使用すると、レプリケートされたデータをOracleターゲット・データベースに適用することができます。Oracle GoldenGateプロセスの詳細は、WindowsおよびUNIXにおけるOracle GoldenGateの管理を参照してください
Oracleターゲット・データベースでは、Replicatを非統合モードまたは統合モードのいずれかで実行できます。次の項では、これらのモードについて説明するとともに、各モードでサポートされるデーターベース・バージョンを示します。
27.5.2.1 非統合Replicat
非統合モードでは、Replicatプロセスは標準SQLを使用して、データをターゲット表に直接適用します。
Replicatの調整された構成を使用して、非統合Replicatでトランザクションを並行して適用することができます。詳細は、WindowsおよびUNIXにおけるOracle GoldenGateの管理を参照してください
非統合Replicatは、次の場合に使用します。
-
Oracleターゲット・データベースがOracle 11.2.0.4よりも前のバージョンである
-
統合Replicatモードでサポートされていない機能を広範に使用する必要がある
非統合モードでは、Replicatは次のように機能します。
-
Oracle GoldenGateの証跡を読み取ります。
-
データのフィルタリング、マッピング、および変換を実行します。
-
ソース・データベースのDMLまたはDDLトランザクションを表すSQL文を作成します(コミットされた順に)。
-
Oracle Call Interface (OCI)を介して、SQLをターゲットに適用します。
27.5.2.1.1 統合Replicat
統合モードにおいて、Replicatプロセスでは、Oracleデータベース内で使用可能な適用処理機能が使用されます。このモードでは、Replicatは次のように機能します。
-
Oracle GoldenGateの証跡を読み取ります。
-
データのフィルタリング、マッピング、および変換を実行します。
-
ソース・データベースのDMLトランザクションを表す論理変更レコード(logical change records: LCR)を作成します(コミットされた順に)。DDLは、Replicatにより直接適用されます。
-
軽量ストリーミング・インタフェースを使用して、データベース・インバウンド・サーバーと呼ばれるターゲット・データベースのバックグラウンド処理にアタッチします。
-
LCRをインバウンド・サーバーに転送し、データをターゲット・データベースに適用します。
単一のReplicat構成内で、適用サーバーと呼ばれるインバウンド・サーバーの複数の子プロセスがトランザクションを並列に適用し、元のトランザクションのアトミック性を保持します。この並列度は、Replicatプロセスの構成時、または必要に応じて動的に、ターゲット・システムのサポートに応じて増加できます。
統合Replicatはトランザクションを非同期に適用します。高速のスループットを達成するために、相互依存性のないトランザクションを安全に実行して順不同でコミットできます。相互依存性があるトランザクションは、ソースと同じ順序で確実に適用されます。
インバウンド・サーバーのリーダー・プロセスでは、ターゲット・データベースで定義されている制約(主キー、一意キー、外部キー)に基づいて、ワークロードのトランザクション間の相互依存性が計算されます。また、バリア・トランザクションとDDL操作は自動的に管理されます。コーディネータ・プロセスでは、複数のトランザクションが調整され、適用サーバー間の順序が管理されます。
インバウンド・サーバーが構成済機能または列タイプをサポートしていない場合、Replicatはインバウンド・サーバーとの通信を停止して、インバウンド・サーバーがキューのトランザクションを完了するのを待機し、その後、OCIを介して、トランザクションを直接適用モードでデータベースに適用します。Replicatは、直接トランザクションの適用後に統合モードで処理を再開します。
Replicatでは、次の機能が直接モードで適用されます。
-
DDL操作
-
順序操作
-
TABLEまたはMAPパラメータ内のSQLEXECパラメータ
-
EVENTACTIONS処理
-
UDTに関するノート: ExtractがUSENATIVEOBJSUPPORTを使用してUDTをキャプチャすると、統合Replicatにより、インバウンド・サーバーでUDTが適用されます。そうでない場合は、ReplicatによってUDTが直接処理されます。
ノート:
トランザクションは、直接適用モードでシリアルに適用されるため、このような操作を多用すると、統合Replicatモードのパフォーマンスが低下する場合があります。統合Replicatは、適用処理のほとんどが統合モードで実行可能な場合に、最高のパフォーマンスを発揮します。
ユーザー・イグジットは統合モードで実行されます。ユーザー・イグジットにより予期しない結果が発生する場合がありますが、終了コードは、レプリケーション・ストリームのデータによって異なります。
27.6 異なるキャプチャおよび適用モードの併用
次のキャプチャおよび適用モードを一緒に使用できます。
-
クラシック・キャプチャ(Oracleまたは非Oracleソース)および非統合Replicat
-
クラシック・キャプチャ(Oracleまたは非Oracleソース)および統合Replicat
-
統合キャプチャおよび非統合Replicat
-
統合キャプチャおよび統合Replicat
統合キャプチャおよびクラシック・キャプチャを同じソースOracle GoldenGateインスタンス内で同時に使用し、統合Replicatおよび非統合Replicatを同じターゲットOracle GoldenGateインスタンス内で同時に使用できます。
クラシック・キャプチャ・モードと統合キャプチャ・モード間、および非統合Replicatモードと統合Replicatモード間では、DDLまたはDMLは調整されないため、この構成では、適切なプロセス・グループ内にオブジェクトを慎重に配置する必要があります。各Extractグループでは、表のデータ型および属性に基づいて、処理モードに適したオブジェクトを処理する必要があります。一方のExtractのオブジェクトに、もう一方のExtractのオブジェクトのDMLまたはDDL依存性を含めることはできません。同じタイプの分離をReplicat構成に適用する必要があります。
Oracleバージョンによってサポートされる場合、推奨されるOracle GoldenGate構成は、1つの統合キャプチャをOracleソースで使用し、Oracleターゲットのソース・データベースごとに、1つの統合Replicatを使用することです。統合キャプチャは、クラシック・キャプチャよりも特定のデータ型を完全にサポートします。インバウンド・サーバーを使用するか、必要時に直接適用に切り替えることで、1つの統合Replicat構成ですべてのOracleデータ型をサポートし、ソース・トランザクションの完全性を保持します。必要に応じて、並列度設定を目的の適用パフォーマンス・レベルに調整できます。
ターゲット・データベースが統合ReplicatをサポートしないOracleバージョンか、Oracle以外のデータベースの場合は、調整済のReplicat構成を使用できます。詳細は、WindowsおよびUNIXにおけるOracle GoldenGateの管理を参照してください
27.7 異なるプロセス・モードへの切替え
プロセス・モードを切り替えることができます。たとえば、クラシック・キャプチャから統合キャプチャ、統合キャプチャからクラシック・キャプチャに切り替えることができます。手順は、「WindowsおよびUNIXにおけるOracle GoldenGateの管理」を参照してください。
27.8 クラシック・モードから統合モードへのGoldenGate Extractのアップグレード
GoldenGate 11.2.1でIntegrated Extractを実行するには、次の要件を満たす必要があります。
-
Oracle RDBMSがバージョン11.2.0.3以上である
-
RDBMS (Database)パッチが適用されている
-
Integrated Extract 11.2.x向けの、11.2.0.3 Database固有のバンドル・パッチ
-
REDO互換性を11.2.0.3に設定し、DBバージョンに一致させる必要がある
-
次の項では、アップグレード手順について説明します。
-
RAC環境とOGGバージョン11.2.1.0.23+を使用している場合は、ステップa~dを実行します。11.2.1.0.23よりも前のOGGバージョンを使用している場合は、これらのステップをスキップし、ステップ2に進んでください。
-
-
実行中のExtractに対して、次のコマンドを発行します。
SEND extract <extract name> tranlogoptions prepareforupgradetoie
-
Extractが停止している場合、次の行をパラメータ・ファイルに追加した後、Extractを起動します。
TRANLOGOPTIONS PREPAREFORUPGRADETOIE
-
ggserr.logファイルまたは対応するExtractレポート・ファイルで、変更が有効になったことによりアップグレードの続行が可能になったことを示すINFO GG-01873メッセージを監視します。
ノート:
INFOメッセージが表示された場合、Extractは、キャプチャされる表のすべてのRACノードでコミット済みトランザクションを処理する必要があります。別の方法として、ダミーの表をExtractパラメータ・ファイルに追加することができ、すべてのスレッドからこの表でDMLを実行すると、すべてのスレッドの現在のチェックポイントがExtractコミット境界に設定されます。
Example from report file: 2014-06-05 17:06:09 INFO OGG-01873 The parameter TRANLOGOPTIONS PREPAREFORUPGRADETOIE has taken effect. Proceed to the next step in the upgrade process. Example from ggserr.log file: 2014-06-05 17:06:09 INFO OGG-01873 Oracle GoldenGate Capture for Oracle, src.prm: The parameter TRANLOGOPTIONS PREPAREFORUPGRADETOIE has taken effect.
-
メッセージが表示された後、Extractを停止してdbloginを実行し、次のように、Integrated Extractへの変換を実行します。
-
-
Extractデータベースに接続し、次の権限をGG管理ユーザーに付与します。
SQL>exec dbms_goldengate_auth.grant_admin_privilege('<ggadmin>')
-
GGSCIにログインします。
-
アップグレードが可能かどうかを確認します。
GGSCI> DBLOGIN USERID <ID> PASSWORD <PW> GGSCI> INFO <extract_name> UPGRADE
-
既存のトランザクションがオープンしている場合は、アップグレードに失敗することがあります。
GGSCI>stop extract <extract_name> GGSCI>dblogin userid <ggadmin>,password <password>
-
データベースにExtractをまだ登録していない場合は、登録を完了します。
GGSCI>register extract <extract_name> database GGSCI>alter extract <extract_name>,upgrade integrated tranlog GGSCI>start extract <extract_name>