プライマリ・コンテンツに移動
Oracle® Fusion Middleware DB2 for iのためのOracle GoldenGateのインストールおよび構成
12c (12.2.0.1)
E79717-01
  目次へ移動
目次

前
 
次
 

4 DB2 for iのためのOracle GoldenGateの構成

この章では、ソースDB2 for iデータを取得し、サポートされているターゲット・データベースに適用するためのOracle GoldenGateの構成方法について説明します。

この章は次の項で構成されています:

4.1 この手順でできること

ここでの手順では、トランザクション・データ変更をDB2 for iソースからDB2 for iターゲットまたは異なるタイプのデータベースにレプリケートするプロセスごとに1つの、基本的なOracle GoldenGateパラメータ(構成)ファイル・セットを構成する方法を示します。ビジネス要件によってはより複雑なトポロジが必要ですが、この手順がその他の構成手順の基礎となります。

この章では、Oracle GoldenGateの管理for Windows and UNIXの手順の一部を示します。ここでは、DB2 for iに固有の基本パラメータに重点を置いて説明します。

手順を実行することで、次のことが可能です。

  • 基本的な構成ファイルが作成されます。

  • 後で環境に適用する機能や要件について決定を下してパラメータを追加し、それらを拡張します。

  • コピーを使用して、一から作成するよりも短時間で追加パラメータ・ファイルを作成します。

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

構成プロセスを進める前に、Oracle GoldenGateアーキテクチャ、コマンド・インタフェースおよびプロセスに対する入力および指示の指定方法についてよく理解しておく必要があります。この詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

4.3 Oracle GoldenGateインスタンスの作成

各Oracle GoldenGateインストールは、Managerプロセスをベースとします。これが、Oracle GoldenGateプロセスのインスタンス化、ポート番号の割当ておよびファイル・メンテナンスを行うコントローラ・プロセスです。Managerプロセスとその子プロセス、およびそれに関連するプログラムとファイルを合せてOracle GoldenGateインスタンスを構成します。

Oracle GoldenGateを実行するには、Oracle GoldenGate環境に含まれるすべてのシステムでManagerプロセスが実行されている必要があります。Managerを実行するには、まず、そのパラメータ・ファイルを作成します。Managerの構成およびネットワーク接続の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

4.4 GLOBALSファイルの作成

GLOBALSパラメータ・ファイルには、Oracle GoldenGateインスタンス内のすべてのプロセスに影響するパラメータが含まれています。GLOBALSパラメータのNAMECCSIDは、DB2 for iに固有であり、システムCCSIDとは異なるCCSIDによって参照されるオブジェクト名がSQLカタログに含まれる場合は必須となります。SQLカタログはシステムCCSIDで作成されますが、問合せ時にこの違いは示されません。NAMECCSIDを使用して正しいCCSID値を指定しないかぎり、Oracle GoldenGateはカタログに対して誤った問合せを実行し、その名前を検索する可能性があります。詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

4.5 データ定義ファイルの作成

ある表から別の表にデータをレプリケートする場合、ソース表とターゲット表の列構造(メタデータ)が同一かどうかは重要な問題です。Oracle GoldenGateは、次の目的でメタデータを参照します。

  • ソースで、取得された操作に関する完全な情報をReplicatプロセスに提供するため。

  • ターゲットで、レプリケートされたデータがReplicatによって正しくマップされ、(必要に応じて)変換されるよう、ターゲット表の構造を決めるため。

ソースとターゲットの表定義が異なる場合、Oracle GoldenGateは、ある形式から別の形式への変換を行う必要があります。変換を行うには、Oracle GoldenGateで両方の定義を認識できる必要があります。Oracle GoldenGateはローカル・データベースに問い合せて定義を取得できますが、リモート・データベースから定義を取得するには、データ定義ファイルを使用する必要があります。データ定義ファイルには、レプリケートされるデータのメタデータに関する情報が含まれます。

定義ファイルを作成するには、DEFGENユーティリティを構成して実行し、定義ファイルをターゲット・システムに転送します。詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。このファイルは、Oracle GoldenGateプロセスを初めて起動するより前に、ターゲット・システムに配置する必要があります。

4.6 ExtractおよびReplicatのパスワードの暗号化

プライマリExtract、データ・ポンプExtractおよびReplicatプロセスに使用されるユーザー・プロファイルのパスワードを暗号化することをお薦めします。DB2 for iプラットフォームでは、Oracle GoldenGateはBlowfish暗号化を使用する必要があります。Oracle GoldenGateの標準的な暗号化方法であるAES (Advanced Encryption Standard)は、IMB iプラットフォームではサポートされません。パスワードを暗号化する場合は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。このドキュメントには、ディスク・ストレージ内のデータの暗号化方法やTCP/IP経由のデータの暗号化方法に関する情報も記載されています。


注意:

Oracle GoldenGate資格証明ストアは、iSeriesプラットフォームではサポートされません。

4.7 DB2 for iから変更を取得するためのExtractの構成

次の手順をソース・システムで実行し、変更の取得とネットワーク経由の転送をサポートするプライマリExtractとデータ・ポンプExtractを構成します。

4.7.1 プライマリExtractの構成

次の手順では、トランザクション・データを取得するExtractを構成します。

  1. ソース・システムのGGSCIで、Extractパラメータ・ファイルを作成します。

    EDIT PARAMS name
    

    説明: nameは、プライマリExtractグループの名前です。

  2. 次に示す順序でExtractパラメータを入力します。パラメータ文ごとに新しい行を開始します。入力変数は環境によって異なります。詳細は、表4-1を参照してください。

    プライマリExtractグループの基本的なパラメータ:

    EXTRACT finance
    SOURCEDB FINANCE USERID ogg, PASSWORD AACAAAAAAAAAAA, BLOWFISH ENCRYPTKEY mykey 
    ENCRYPTTRAIL
    EXTTRAIL /ggs/dirdat/lt
    TABLE hr.*;
    

    表4-1 プライマリExtractの基本的なパラメータ

    パラメータ 説明
    EXTRACT group
    

    groupは、Extractグループの名前です。

    SOURCEDB database USERID user id, PASSWORD password, BLOWFISH ENCRYPTKEY keyname
    

    データベース接続情報を指定します。

    • SOURCEDBでは、システム名(大文字)で識別されるデフォルトのDB 2 for iデータベースを指定します。このデータベースのみがサポートされます。独立補助ストレージ・プール(IASP)の名前付きデータベースはサポートされません。

    • USERIDでは、Extractデータベース・ユーザー・プロファイルを指定します。

    • PASSWORDでは、ENCRYPT PASSWORDコマンドで暗号化されたユーザーのパスワードを指定します。PASSWORDキーワードの後に、暗号化されたパスワードを入力するか、貼り付けます。

    • BLOWFISH ENCRYPTKEY keynameでは、ローカルENCKEYSファイルの参照鍵の名前を指定します。

    暗号化オプションは、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

    ENCRYPTTRAIL
    

    Blowfish暗号化でローカル証跡を暗号化します。詳細は、Oracle GoldenGateの管理for Windows and UNIXのOracle GoldenGateのセキュリティに関する項を参照してください。

    EXTTRAIL pathname
    

    プライマリExtractによって取得されたデータが書き込まれるローカル証跡のパス名を指定します。

    TABLE owner.table;
    

    データの変更を抽出する表を指定します。サポートされているオブジェクト名は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

    TABLE文はセミコロンで終えます。

    ワイルドカード指定から表を除外するには、TABLE文の後にTABLEEXCLUDEパラメータを使用します。

    データのフィルタリング、マッピングおよび操作を制御するパラメータとオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。


  3. このマニュアルの他の箇所で推奨されているオプションのExtractのパラメータやOracle GoldenGate Windows and UNIXリファレンス・ガイドに示されているその他のパラメータを入力します。

  4. ファイルを保存して閉じます。

4.7.2 データ・ポンプの構成

次の手順では、ローカル証跡を読み取り、データをネットワーク経由でリモート証跡に送信するデータ・ポンプを構成します。

  1. ソース・システムのGGSCIで、データ・ポンプ・パラメータ・ファイルを作成します。

    EDIT PARAMS name
    

    説明: nameは、データ・ポンプExtractグループの名前です。

  2. 次に示す順序でデータ・ポンプ・パラメータを入力します。パラメータ文ごとに新しい行を開始します。入力変数は環境によって異なります。詳細は、表4-2を参照してください。

    データ・ポンプExtractグループの基本的なパラメータ:

    EXTRACT extpump
    SOURCEDB FINANCE USERID ogg, PASSWORD AACAAAAAAAAAAA, BLOWFISH ENCRYPTKEY mykey
    RMTHOST fin1, MGRPORT 7809
    RMTTRAIL /ggs/dirdat/rt
    TABLE hr.*;
    

    表4-2 データ・ポンプExtractの基本的なパラメータ

    パラメータ 説明
    EXTRACT group
    

    group nameは、データ・ポンプの名前です。

    SOURCEDB database USERID user, PASSWORD password, BLOWFISH ENCRYPTKEY keyname
    

    データベース接続情報を指定します。

    • SOURCEDBでは、デフォルトのDB 2 for iデータベースを指定します。

    • USERIDでは、Extractデータベース・ユーザー・プロファイルを指定します。

    • PASSWORDでは、ENCRYPT PASSWORDコマンドで暗号化されたユーザーのパスワードを指定します。PASSWORDキーワードの後に、暗号化されたパスワードを入力するか、貼り付けます。

    • BLOWFISH ENCRYPTKEY keynameでは、ローカルENCKEYSファイルの参照鍵の名前を指定します。

    暗号化オプションは、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

    DECRYPTTRAIL BLOWFISH

    入力証跡を復号化します。

    RMTHOST hostname, MGRPORT portnumber
    
    • RMTHOSTでは、ターゲット・システムの名前またはIPアドレスを指定します。

    • MGRPORTでは、ターゲットでManagerが実行されるポートの番号を指定します。

    その他のオプションと暗号化の詳細は、『Oracle GoldenGateの管理for Windows and UNIX』を参照してください。

    ENCRYPTTRAIL BLOWFISH
    

    Blowfish暗号化でリモート証跡を暗号化します。詳細は、Oracle GoldenGateの管理for Windows and UNIXのOracle GoldenGateのセキュリティに関する項を参照してください。

    RMTTRAIL pathname
    

    リモート証跡のパス名を指定します。

    TABLE owner.table;
    

    処理する表を指定します。サポートされているオブジェクト名は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

    TABLE文はセミコロンで終えます。

    ワイルドカード指定から表を除外するには、TABLE文の後にTABLEEXCLUDE owner.tableパラメータを使用します。

    データのフィルタリング、マッピングおよび操作を制御するその他のオプションとその詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXTABLEに関する項を参照してください。


  3. このマニュアルの他の箇所で推奨されているオプションのExtractのパラメータやOracle GoldenGateリファレンスfor Windows and UNIXに示されているその他のパラメータを入力します。

  4. ファイルを保存して閉じます。

4.8 DB2 for iに変更を配信するためのReplicatの構成

次の手順では、ターゲット・システムまたはリモートのWindowsまたはLinuxシステムで稼働しながら、DB2 for iターゲット・データベースにデータを適用するように、Replicatを構成します。異なるタイプのデータベース(Oracleデータベースなど)に変更を配信するようReplicatを構成するには、そのデータベース用のOracle GoldenGateインストレーションおよび構成ガイドの説明に従います。そのデータベース・タイプへの配信用に追加のパラメータや要件がある場合があります。


注意:

ReplicatによるODBCを使用した接続をサポートするために、WindowsまたはLinuxマシン上にデータベースが存在する必要はありません。

4.8.1 チェックポイント表の作成

Replicatは、DB2 for iターゲット・データベースのチェックポイント表にチェックポイントを保持します。各チェックポイントは、Replicatトランザクション内で、ジャーナル処理される必要があるチェックポイント表に書き込まれます。チェックポイントはトランザクションに対して成功または失敗のいずれかであるため、プロセスまたはデータベースに障害が発生した場合でも、Replicatによってトランザクションが一度のみ適用されることが保証されます。

ジャーナル処理を指定してチェックポイント表を作成する一般的な方法は、次のとおりです。

  1. ターゲット・システムのGGSCIで、Replicatチェックポイント・ファイルを作成します。

    DEFAULTJOURNAL library_name/journal_name
    

    説明: library_nameはライブラリの名前、journal_nameはデフォルト・ジャーナルの名前です。

  2. チェックポイント表を追加します。

    ADD CHECKPOINTTABLE library_name.chkptab 
    
    Successfully created checkpoint table kgr.chkptab 
    
  3. チェックポイント表にジャーナル処理を追加します。

    ADD TRANDATA library_name.CHKPTAB
    

チェックポイント表の作成の詳細は、『Oracle GoldenGateの管理for Windows and UNIX』を参照してください。

4.8.2 Replicatの構成

次の手順では、特別なマッピングやデータの変換をしない基本的な方法でReplicatプロセスを構成します。高度なマッピング・オプションは、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

  1. ターゲット・システムのGGSCIで、Replicatパラメータ・ファイルを作成します。

    EDIT PARAMS name
    

    説明: nameは、Replicatグループの名前です。

  2. 次に示す順序でReplicatパラメータを入力します。パラメータ文ごとに新しい行を開始します。詳細は、表4-3を参照してください。

    REPLICAT financer
    TARGETDB FINANCIAL USERID ogg, PASSWORD AACAAAAAAAAAAA, BLOWFISH ENCRYPTKEY mykey
    ASSUMETARGETDEFS
    -- Instead of ASSUMETARGETDEFS, use SOURCEDEFS if replicating from
    -- DB2 for i to a different database type, or from a DB2 for i source
    -- that is not identical in definitions to a target DB2 for i database.
    -- SOURCEDEFS /users/ogg/dirdef/defsfile
    DISCARDFILE /users/ogg/disc
    MAP hr.*, TARGET hr2.*;
    

    表4-3Replicatの基本パラメータ

    パラメータ 説明
    REPLICAT group
    

    groupは、Replicatグループの名前です。

    TARGETDB database USERID user, PASSWORD password, BLOWFISH ENCRYPTKEY keyname
    

    データベース接続情報を指定します。

    • SOURCEDBでは、ターゲットDB2 for iデータベースのデータ・ソース名(DSN)を指定します。

    • USERIDでは、Replicatデータベース・ユーザー・プロファイルを指定します。

    • PASSWORDでは、ENCRYPT PASSWORDコマンドで暗号化されたユーザーのパスワードを指定します。PASSWORDキーワードの後に、暗号化されたパスワードを入力するか、貼り付けます。

    • BLOWFISH ENCRYPTKEY keynameでは、ローカルENCKEYSファイルの参照鍵の名前を指定します。

    DECRYPTTRAIL BLOWFISH

    入力証跡を復号化します。

    SOURCEDEFS pathname |
    ASSUMETARGETDEFS
    

    データ定義の解釈方法を指定します。ソース表とターゲット表の定義が異なる(異なるIBM for iデータベース間のレプリケート、IBM for iデータベースからOracleデータベースへのレプリケートなど)場合、SOURCEDEFSを使用します。pathnameには、「データ定義ファイルの作成」DEFGENユーティリティを使用して作成したソース・データ定義ファイルを指定します。ソース表とターゲット表がすべてDB2 for iで、定義が同じ場合、ASSUMETARGETDEFSを使用します。

    MAP owner.table, TARGET owner.table;
    

    ソース表とターゲット表の関係を指定します。MAP句ではソース・オブジェクトを、TARGET句ではソース・オブジェクトのマップ先となるターゲット・オブジェクトを指定します。

    • ownerは、スキーマ名またはライブラリ名です。

    • tableは、表の名前または複数の表に対するワイルドカード定義です。

    サポートされているオブジェクト名は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

    MAP文はセミコロンで終えます。

    ワイルドカード指定から表を除外するには、MAPEXCLUDEパラメータを使用します。

    データのフィルタリング、マッピングおよび操作を制御するその他のオプションとその詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXのMAPに関する項を参照してください。


  3. このマニュアルの他の箇所で推奨されているオプションのExtractのパラメータやOracle GoldenGateリファレンスfor Windows and UNIXに示されているその他のパラメータを入力します。

  4. ファイルを保存して閉じます。

4.9 デプロイの次の手順

その柔軟性から、Oracle GoldenGateには、プロセスを起動する前に検討する必要のある機能やオプションが数多くあります。ビジネス・ニーズに合せてOracle GoldenGateをさらに構成するには、次のものを参照してください。

  • 特定のレプリケーション・トポロジを実現するためのその他の構成のガイドラインは、Oracle GoldenGateの管理for Windows and UNIXを参照してください。このガイドには、次の点に関する情報も含まれています。

    • Oracle GoldenGateのアーキテクチャ

    • Oracle GoldenGateのコマンド

    • Oracle GoldenGateの初期ロード方式

    • セキュリティの構成

    • カスタマイズ機能の使用

    • 異なるデータを含む列のマッピング

    • データのフィルタリングと操作

  • このガイドで示されたOracle GoldenGate GGSCIコマンドおよびOracle GoldenGateパラメータの構文オプションとその詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

4.10 トランザクション変更のレプリケートを開始するタイミング

ソース・データとターゲット・データが同期している状態、つまり、ソース表とターゲット表の対応する行に同一のデータ値が含まれる場合にレプリケーションを開始する必要があります。現在のユーザー・アクティビティがない完全に新規のソース・データベースとターゲット・データベースから始める場合以外、変更取得プロセスおよび変更適用プロセスをアクティブにし、初期ロードをターゲットに適用する間に進行中のトランザクション変更を処理する必要があります。このプロセスは、初期同期またはインスタンス化と呼ばれます。初期ロードでは、ソース・データのポイントインタイム・スナップショットが取得されてターゲットに適用されると同時に、その時点以降に行われた変更がOracle GoldenGateによって保持されます。

インスタンス化オプションは、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

4.10.1 インスタンス化中のExtractの起動

インスタンス化プロセス中にExtractを初めて起動してデータの取得を開始すると、指定された開始点より後に出現するすべてのトランザクション・データが取得されますが、それより前に出現するデータは取得されません。破棄される可能性のある進行中のトランザクションの途中でExtractが起動されないことを保証するには、取得対象の表を非アクティブ状態に設定します。ALCOBJコマンドを使用してシステムを制限付きの状態にしてオブジェクトまたはライブラリをロックするか、それらの表の現在のトランザクションをすべて特定の時点で停止します。

初期化の完了後、ロックしたオブジェクトのロックを解除することを忘れないでください。これを行うには、オブジェクトをロックしたセッションからログオフするか、OS/400コマンドラインからDLCOBJコマンドを使用します。

4.10.2 後の時点へのExtractの位置の変更

Extractの実行中ある時点で、データ・ストリーム内のExtractの位置を手動で設定する必要が生じることがあります。Extractの位置を再設定するには、GGSCIでALTER EXTRACTコマンドを使用します。任意のExtractの読取り位置の特定には、INFO EXTRACTコマンドで、ジャーナル・レシーバ情報を含め、Extract構成の各ジャーナルの位置を表示すると便利です。これらのコマンドの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。


注意:

ジャーナルにトランザクション分割がある場合があるため、任意のジャーナルの位置が単独で過去に再設定された場合、項目の再処理によるレイテンシが原因で、遅行しているジャーナルの読取りが追い付くまで、すでに読み取られたジャーナルがストールすることがあります。

4.11 構成のテスト

本番マシンにデプロイする前に、テスト環境で構成をテストすることが重要です。これは、信頼できるソースのデータがレプリケーション・プロセスからアクセスされる可能性のあるアクティブ/アクティブまたは高可用性の構成で特に重要です。テストによって、ターゲットでの再ロードや他のトラブルシューティング・アクティビティのためにユーザー・アクティビティを中断することなく、構成の誤りやデータの問題を検出して解決できます。