ヘッダーをスキップ
Oracle® GoldenGate Oracle TimesTenのためのOracle GoldenGateのインストールおよび構成
12c (12.1.2)
E52453-01
  目次へ移動
目次

前
 
次
 

3 Oracle GoldenGateのためのOracle Times Tenの準備

この章では、Oracle GoldenGateがサポートされるようにOracle TimesTenデータベースを正しく構成する手順について説明します。

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

3.1 ODBCドライバの構成

次の指示に従って、Replicatがターゲット・データベースへの接続に使用するODBC (Open Database Connectivity)を構成します。Oracle GoldenGateがOracle TimesTenデータベースとのインタフェースをとる各Windowsシステム上に、システム・データ・ソース名(DSN)を設定します。DSNには、ターゲット・データベースへの接続方法に関する情報が格納されます。

Windows上でDSNを作成するには

  1. Oracle TimesTen ClientドライバをターゲットWindowsシステムにインストールします。(注意: TimesTen Data Managerの本番ODBCドライバが、デフォルトでWindowsシステムにインストールされます。)

  2. Windowsシステムで、「コントロール パネル」フォルダを開きます。

  3. 「管理ツール」フォルダを開きます。

  4. 「データ ソース(ODBC)」を開きます。「ODBCデータ ソース アドミニストレータ」ダイアログ・ボックスが表示されます。

  5. 「システムDSN」タブを選択し、「追加」をクリックします。

  6. 「データ ソースの新規作成」で、「TimesTen Clientドライバ」を選択します。

  7. 「完了」をクリックします。「データ ソースの新規作成」ウィザードが表示されます。

  8. 次を入力します。

    • 「クライアントDSN」に、クライアント名のDSNの名前を入力します。アンダースコアとダッシュ以外の特殊キーボード文字を除いた32文字までの英数字を使用できます。

    • (オプション)「説明」に、このDSNの説明を入力します。

    • このダイアログの残りのフィールドに、Oracle TimesTen Serverおよびそのホストの正しい情報を入力します。詳細な手順について、または問題が発生した場合は、Oracle TimesTenのドキュメントを参照してください。

  9. 「OK」をクリックしてダイアログを閉じます。

  10. Oracle GoldenGateがOracle TimesTenとやり取りする他のシステムで、前述の手順を繰り返します。

3.2 処理のための表の準備

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

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

3.2.2項「行識別子の割当て」

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

ターゲット表のトリガー、カスケード削除制約およびカスケード更新制約を無効化するか、Oracle GoldenGateデータベース・ユーザーによる変更を無視するようにそれらを変更します。Oracle GoldenGateでは、トリガーまたはカスケード制約の結果として生成されるDMLがレプリケートされます。同じトリガーまたは制約がターゲット表で有効にされる場合、レプリケートされたバージョンのために重複となり、データベースからエラーが返されます。次の例について考えてみます。この場合、ソース表はemp_srcおよびsalary_src、ターゲット表はemp_targおよびsalary_targです。

  1. emp_srcに削除が発行されます。

  2. 削除がsalary_srcにカスケードされます。

  3. Oracle GoldenGateが、両方の削除をターゲットに送信します。

  4. 親削除が最初に到達し、emp_targに適用されます。

  5. 親削除によって、削除がsalary_targにカスケードされます。

  6. カスケードされたsalary_srcの削除がsalary_targに適用されます。

  7. 行は、すでに手順5で削除されているため、見つかりません。

3.2.2 行識別子の割当て

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

3.2.2.1 Oracle GoldenGateで使用する行識別子の種類を判別する方法

TABLE文またはMAP文でKEYCOLS句を使用しない場合には、Oracle GoldenGateにより、使用される行識別子が次の優先順位で選択されます。

  1. 主キー

  2. タイムスタンプ列または非マテリアライズ計算結果列が含まれていない最初の一意キー(アルファベット順)。


    注意:

    他の使用不可なキーが表に存在する、または表にいずれのキーも存在しない場合、Oracle GoldenGateで、レポート・ファイルに適切なメッセージがログに記録されます。すべての列からキーを構築すると、ソース・システム上のOracle GoldenGateのパフォーマンスが妨げられます。ターゲットでは、このキーはReplicatであまり効率的でないより大きいWHERE句が使用される原因となります。


  3. 前述のキー・タイプがいずれも存在しない場合(表で別のタイプのキーが定義されていても)、Oracle GoldenGateでは、データベースで一意キー内での使用が許可されるすべての列の擬似キーが作成されます(キー内での使用がOracle GoldenGateでサポートされない列、またはOracle GoldenGate構成から除外されている列を除く)。

3.2.2.2 KEYCOLSを使用したカスタム・キーの指定

表にいずれかの前述のタイプの行識別子が存在しない場合、あるいはこれらの識別子を使用しない場合は、表に一意の値が常に含まれる列があれば、代替キーを定義できます。KEYCOLS句をReplicatのMAPパラメータ内に含めることで、この代替キーを定義します。指定されたキーは、Oracle GoldenGateで検出される既存の主キーまたは一意キーよりも優先されます。詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

3.3 デプロイの次の手順

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