32 Oracle GoldenGateシステムの準備

この章では、Oracle GoldenGateをサポートするためのシステムの準備に関するガイドラインを示します。

内容は次のとおりです。

すべての変数のエクスポート

続行する前に、必要なシステム環境変数が設定されていることを確認します。
  • Oracle TimesTenクライアント・ライブラリのパス。次に例を示します。
    export LD_LIBRARY_PATH=/installpath/tt18.1.2.2.0/lib:$LD_LIBRARY_PATH
  • TimesTenインスタンスのパス。次に例を示します。
    export TIMESTEN_HOME=/instancepath/tt181

TimesTenクライアントODBCドライバの構成

次のステップは、Oracle GoldenGateの接続で必要となる、Oracle TimesTenターゲット・データベースに接続するTimesTenクライアントODBCドライバを構成する方法を示しています。これらのステップを開始する前に、Oracle GoldenGateのインストールシステム要件とインストール前の指示を完了していることを確認してください。

LinuxでのODBCの構成

次のステップでは、Oracle GoldenGateプロセスを接続するために必要な最小限の設定を示します。Oracle TimesTen Clientとサーバーの構成および情報の詳細は、次のOracle TimesTenドキュメントを参照してください。

https://docs.oracle.com/database/timesten-18.1/TTOPR/client_server.htm#TTOPR177

  1. $TIMESTEN_HOME/conf/sys.odbc.iniファイルを編集します。

    vi $TIMESTEN_HOME/conf/sys.odbc.ini

  2. テンプレート・ファイルにデータ・ソースを記述します。次の例では、データベースへの接続にDBLOGINSOURCEDBおよびTARGETDBを使用するクライアント名として、TTCS_181が使用されています。
    [ODBC Data Sources]
        TTCS_181=TimesTen 18.1 Client Driver
  3. TTC_SERVERの論理サーバー名を設定し、TTC_SERVER_DSNエントリのサーバーDSN値を使用します。TTC_SERVER_DSNの値は、データベース・サーバーのsys.odbc.iniファイルに存在するデータベース固有のサーバーDSNと一致する必要があります。
    [TTCS_181]
    TTC_SERVER=ttRemoteDBServer_TT_181
    TTC_SERVER_DSN=ttDatabaseDSN
  4. これらのステップで説明している設定を使用して、$TIMESTEN_HOME/conf/sys.ttconnect.iniファイルを編集します。

    vi $TIMESTEN_HOME/conf/sys.ttconnect.ini

  5. sys.odbc.iniファイル内で、TTC_SERVERの値として使用されたものと同じ論理サーバー名のエントリを作成します。この例では、ttRemoteDBServer_TT_181がエントリ名となります。オプションの説明値、およびOracle TimesTenデータベース・サーバーとポートを指す、必須のNetwork_Address値とTCP_PORT値を含めます。
    [ttRemoteDBServer_TT_181]
    Description=TimesTen 
    ServerNetwork_Address=server.company.com
    TCP_PORT=6625
  6. ターゲットのOracle GoldenGateディレクトリからGGSCIを実行し、DBLOGINコマンドを発行してターゲット・データベースにログインすることで、接続設定を確認します。
    DBLOGIN SOURCEDB database, USERID db_user [, PASSWORD pw [encryption options]]
    この例では次のようになります。
    • SOURCEDB databaseには、新規データ・ソース名を指定します。

    • USERID db_userPASSWORD pwは、Replicatデータベース・ユーザー・プロファイルおよびパスワードです。

    • encryption optionsは、オプションのパスワード暗号化です

処理のための表の準備

この項では、TimesTenのあるOracle GoldenGate環境で対処する必要がある表属性について説明します。

内容は次のとおりです。

トリガーおよびカスケード制約の無効化

ターゲット表のトリガー、カスケード削除制約、カスケード更新制約を無効にするか、これらを変更してOracle GoldenGateデータベース・ユーザーによる変更が無視されるようにします。Oracle GoldenGateでは、トリガーまたはカスケード制約の結果として生成されるDMLがレプリケートされます。同じトリガーや制約がターゲット表でアクティブになった場合、レプリケートされたバージョンのために重複となり、データベースでエラーが返されます。ソース表にemp_srcsalary_src、ターゲット表にemp_targsalary_targを使用している次の例について考えます。

  1. emp_srcに削除が発行されます
  2. それによって、削除がsalary_srcにカスケードされます。
  3. Oracle GoldenGateが、両方の削除をターゲットに送信します。
  4. 親削除が最初に到達し、emp_targに適用されます。
  5. 親削除によって、削除がsalary_targにカスケードされます。
  6. salary_srcからカスケードされた削除がsalary_targに適用されます。
  7. 行は、すでにステップ5で削除されているため、見つかりません。

行識別子の割当て

Oracle GoldenGateでは、レプリケートされた更新および削除に対して正しいターゲット行を見つけるために、ソース表とターゲット表にある形式の一意の行識別子が必要です。

Oracle GoldenGateの構成

Oracle TimesTenデータベースのためにOracle GoldenGate Replicatを構成する場合の前提条件とタスクについて学習します。

内容は次のとおりです。

Oracle GoldenGate Replicatの構成

この項では、大多数のターゲット・データベース・タイプで必要とされるReplicatパラメータについて説明します。追加のパラメータが必要な場合があります。ご使用のターゲット・データベース向けOracle GoldenGateのインストレーションと構成のドキュメント、およびOracle GoldenGateリファレンスを参照してください。

ターゲットのレプリケーション・サーバーまたはデータベース上で次のステップを実行します。

  1. Oracle GoldenGateの管理の手順に従ってManagerプロセスを構成します。
  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、ローカル証跡からのファイルの消去を制御します。
  3. Replicatチェックポイント表を作成します。この目的には複数のオプションがあります。Oracle GoldenGateの管理を参照してください。
  4. Replicatグループを作成します。説明上、このグループをrepと呼びます。
    ADD REPLICAT rep, EXTTRAIL remote_trail, CHECKPOINTTABLE owner.table

    EXTTRAIL引数を使用して、Replicatグループをソース・サーバー上でデータ・ポンプに指定されているリモート証跡にリンクします。

  5. EDIT PARAMSコマンドを使用して、Replicatグループにパラメータ・ファイルを作成します。データベース環境に適用される他のパラメータに加え、例29-1に示されているパラメータを含めてください。

例32-1 Replicatグループのパラメータ

-- Identify the Replicat group:
REPLICAT rep
-- Specify database login information as needed for the database:
TARGETDB target_dsn_name, [USERIDALIAS, [USERID userid, PASSWORD pw]]
-- Specify tables for delivery:
MAP owner.sourcetable, TARGET owner.targettable;

Oracle GoldenGateのその他の構成ガイドライン

Oracle GoldenGate環境をインストールして構成したら、次の内容を考慮してください。

初期同期の実行

初期ロードを構成するためにOracle GoldenGateを使用してトランザクションの変更を初めて送信する前に、ソース・データおよびターゲット・データの初期同期を実行します。Oracle GoldenGateの管理初期同期を参照してください。