Oracle® GoldenGate

TeradataのためのOracle GoldenGateのインストールおよび構成

12c (12.1.2)

E52452-01(原本部品番号:E29290-01)

2014年2月

TeradataデータベースのためのOracle GoldenGateのシステム要件、インストールおよびセットアップの手順が記載されています。

Oracle GoldenGate TeradataのためのOracle GoldenGateのインストールおよび構成, 12c (12.1.2)

E52452-01

Copyright © 2013, 2014, Oracle and/or its affiliates.All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

1 システム要件およびインストール前の手順

- 1.1 Oracle GoldenGate for Teradataの概要

- 1.2 このドキュメントの内容

- 1.3 レプリケーション・サーバーとしてサポートされているプラットフォーム

- 1.4 オペレーティング・システム要件

- 1.4.1 メモリー要件

- 1.4.2 ディスクの要件

- 1.4.3 Relay Services Gateway (RSG) vprocs

- 1.4.4 ネットワーク

- 1.4.5 オペレーティング・システム要件

- 1.4.6 コンソール

- 1.4.7 その他のプログラム

- 1.5 データベースの要件

- 1.5.1 データベース構成

- 1.5.2 Oracle GoldenGateプロセス用のデータベース・ユーザー

- 1.6 サポートされているTeradataデータ型

- 1.6.1 数値データ型に関するサポートの制限事項

- 1.6.2 シングルバイト文字データ型に関するサポートの制限事項

- 1.6.3 マルチバイト文字データに関するサポートの条件および制限事項

- 1.6.4 バイナリ・データ型に関するサポートの制限事項

- 1.6.5 ラージ・オブジェクト・データ型に関するサポートの制限事項

- 1.6.6 日付データ型に関するサポートの制限事項

- 1.6.7 IDENTITYデータ型に関するサポートの制限事項

- 1.7 Teradataでサポートされているオブジェクトおよび操作

- 1.7.1 DML

- 1.7.2 DDL

2 Oracle GoldenGateのインストール

- 2.1 インストールの概要

- 2.2 Oracle GoldenGateのダウンロード

- 2.3 UNIX上での動的ビルドのライブラリ・パスの設定

- 2.4 クラスタへのOracle GoldenGateのインストール準備

- 2.4.1 Oracle GoldenGateのバイナリおよびファイルをインストールするクラスタ内の場所の決定

- 2.5 LinuxおよびUNIX上でのOracle GoldenGateのインストール

- 2.6 WindowsへのOracle GoldenGateのインストール

- 2.6.1 WindowsクラスタへのOracle GoldenGateのインストール

- 2.6.2 Oracle GoldenGateファイルのインストール

- 2.6.3 Managerのカスタム名の指定

- 2.6.4 WindowsサービスとしてのManagerのインストール

- 2.7 クラスタへのOracle GoldenGateの統合

- 2.7.1 クラスタの一般的な要件

- 2.7.2 Windowsクラスタ・リソースとしてのOracle GoldenGateの追加

3 Oracle GoldenGateシステムの準備

- 3.1 処理に向けた表の準備

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

- 3.1.2 行識別子の割当て

- 3.1.2.1 使用する行識別子の種類を決定するOracle GoldenGateの仕組み

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

- 3.2 Teradataのレプリケーション・グループの作成

- 3.3 Teradata TAMによるDDL取得のアクティブ化

- 3.4 DDLの取得の無効化

- 3.5 TAM初期化ファイルの構成

4 Oracle GoldenGateの構成

- 4.1 最大保護モードでのOracle GoldenGateの構成

- 4.1.1 推奨される最大保護の構成

- 4.1.2 最大保護モードでのExtractの構成

- 4.1.3 最大保護モードをサポートするためのReplicatの構成

- 4.2 最大パフォーマンス・モードでのOracle GoldenGateの構成

- 4.2.1 推奨される最大パフォーマンスの構成

- 4.2.2 最大パフォーマンス・モードでのExtractの構成

- 4.2.3 最大パフォーマンス・モードをサポートするためのReplicatの構成

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

- 4.3.1 DDLサポートの構成

- 4.3.2 大量の更新操作および削除操作の処理

- 4.3.3 複数の接続の回避

- 4.3.4 初期同期の実行

5 TeradataデータベースへのDDL同期の構成

- 5.1 この章について

- 5.2 DDL同期の概要

- 5.3 Oracle GoldenGateにおけるDDLサポートの制限事項

- 5.3.1 DDL文の長さ

- 5.3.2 サポートされているトポロジ

- 5.3.3 フィルタリング、マッピングおよび変換

- 5.3.4 DDLレスポンス時間

- 5.4 DDLサポートの構成ガイドライン

- 5.4.1 データベース権限

- 5.4.2 並列処理

- 5.4.3 データ・ポンプExtractおよびVAMソートによるExtractのDDLとDML

- 5.4.4 オブジェクト名

- 5.4.5 データ定義

- 5.4.6 初期同期

- 5.5 DDLスコープについて

- 5.5.1 MAPPEDスコープ

- 5.5.1.1 ALTER INDEXのマッピング

- 5.5.2 UNMAPPEDスコープ

- 5.5.3 OTHERスコープ

- 5.6 DDLサポートの有効化

- 5.7 DDLレプリケーションのフィルタリング

- 5.7.1 DDLパラメータ・オプションの組合せ

- 5.7.2 DDL EXCLUDE ALL

- 5.8 Oracle GoldenGateにおける導出オブジェクト名の処理方法

- 5.8.1 導出オブジェクトのマッピング

- 5.8.1.1 MAPがベース・オブジェクトに存在して導出オブジェクトに存在しない場合

- 5.8.1.2 MAPがベース・オブジェクトと導出オブジェクトに存在する場合

- 5.8.1.3 MAPが導出オブジェクトに存在してベース・オブジェクトに存在しない場合

- 5.8.2 導出オブジェクトとしての新しい表

- 5.8.2.1 RENAME

- 5.8.2.2 CREATE TABLE AS SELECT

- 5.8.3 導出オブジェクトのマッピングの無効化

- 5.9 DDL文字列置換の使用

- 5.10 処理でDDLが評価される仕組み

- 5.10.1 ExtractがDDLを評価する仕組み

- 5.10.2 ReplicatがDDLを評価する仕組み

- 5.11 DDL処理エラーの処理

- 5.12 DDLレポート情報の表示

- 5.12.1 Extract DDLレポート

- 5.12.2 Replicat DDLレポート

- 5.12.3 プロセス・レポートの統計

- 5.13 DDL処理のトレース

6 Oracle GoldenGate構成でのオブジェクトの変更

- 6.1 Extractグループの削除

- 6.2 既存のExtractグループへの表の追加

- 6.3 新しいExtractグループへの表の移動

- 6.4 表列の変更

7 Oracle GoldenGateのアンインストール

- 7.1 LinuxまたはUNIXからのOracle GoldenGateのアンインストール

- 7.2 Windows (非クラスタ)からのOracle GoldenGateのアンインストール

- 7.3 WindowsクラスタからのOracle GoldenGateのアンインストール

A インストールされるOracle GoldenGateのコンポーネント

- A.1 Oracle GoldenGateのプログラムおよびユーティリティ

- A.2 Oracle GoldenGateのサブディレクトリ

- A.3 その他のOracle GoldenGateファイル

- A.4 Oracle GoldenGateのチェックポイント表

はじめに

このガイドでは、Teradataデータベース環境へのOracle GoldenGateのインストールと、Oracle GoldenGateの取得および配信をサポートするためのTeradataデータベースの構成について説明します。

対象読者

このガイドは、インストール担当者、データベース管理者、およびOracle GoldenGateのインストール、構成、実行を行うシステム管理者を対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracleサポートへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連ドキュメント

Oracle GoldenGateの完全なドキュメント・セットは、次の内容で構成されています。

HP NonStopプラットフォーム

- Oracle GoldenGateリファレンスfor Mainframe for HP NonStop Guardian

- Oracle GoldenGateの管理for Mainframe for HP NonStop Guardian

Windows、UNIXおよびLinuxプラットフォーム

- DB2 for iのためのOracle GoldenGateのインストールおよび構成

- DB2 LUWのためのOracle GoldenGateのインストールおよび構成

- DB2 z/OSのためのOracle GoldenGateのインストールおよび構成

- SQL ServerのためのOracle GoldenGateのインストールおよび構成

- MySQLのためのOracle GoldenGateのインストールおよび構成

- NonStop SQL/MXのためのOracle GoldenGateのインストールおよび構成

- Oracle TimesTenのためのOracle GoldenGateのインストールおよび構成

- Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成

- PostgreSQLのためのOracle GoldenGateのインストールおよび構成

- SQL ServerのためのOracle GoldenGateのインストールおよび構成

- SybaseのためのOracle GoldenGateのインストールおよび構成

- TeradataのためのOracle GoldenGateのインストールおよび構成

- Oracle GoldenGateの管理for Windows and UNIX

- Oracle GoldenGateリファレンスfor Windows and UNIX

- Oracle GoldenGateログダンプ・リファレンス

- Oracle GoldenGateのアップグレードfor Windows and UNIX

- Oracle GoldenGateエラー・メッセージ・リファレンスfor Windows and UNIX

その他のOracle GoldenGate製品

- Oracle GoldenGateアダプタの管理

- Oracle GoldenGate Directorの管理

- Oracle GoldenGate Monitorの管理

- Oracle GoldenGate Veridataの管理

表記規則

このドキュメントでは、次のテキスト表記規則が使用されています。

表記規則

意味

太字

太字は、「「ファイル」メニューから「保存」を選択します」など、操作に関連するグラフィカル・ユーザー・インタフェース要素を示します。また、太字は、本文中や用語集で定義されている用語にも使用されます。

イタリック体

イタリック体

イタリックは、TABLE table_nameのようなパラメータ文など、ユーザーが特定の値を指定するプレースホルダ変数を示します。イタリックは、マニュアル名や強調にも使用されます。

固定幅フォント

大文字の固定幅フォント

固定幅フォントは、ユーザー・イグジットなどのコード・コンポーネントやスクリプト、ファイルやデータベース・オブジェクトの名前、URLパス、画面に表示される入出力テキストを示します。大文字の固定幅フォントは、通常、Oracle GoldenGateのパラメータ名、コマンド、ユーザーが構成可能な関数、SQLコマンドやキーワードを表すために使用されます。

大文字

通常のテキスト・フォント中の大文字は、名前が特定のケースである場合を除き、ユーティリティの名前を示します。

{ }

構文内の中かっこは、次のように、パイプ記号で区切られた一連のオプションを囲んでおり、その中の1つを選択する必要があります。

{option1|option2|option3}

[ ]

構文内の大かっこはオプション要素を示します。たとえば、CLEANUP REPLICATgroup_name [, SAVE count][option1 | option2]という構文では、SAVE句がオプションです。1つのオプション要素内に複数のオプションがある場合は、パイプ記号で区切られます。

1 システム要件およびインストール前の手順

この章では、Oracle GoldenGateをサポートするシステムおよびデータベース・リソースの要件について説明します。次の各項で構成されます。

- 1.1項「Oracle GoldenGate for Teradataの概要」

- 1.2項「このドキュメントの内容」

- 1.3項「レプリケーション・サーバーとしてサポートされているプラットフォーム」

- 1.4項「オペレーティング・システム要件」

- 1.5項「データベースの要件」

- 1.6項「サポートされているTeradataデータ型」

- 1.7項「Teradataでサポートされているオブジェクトおよび操作」

1.1 Oracle GoldenGate for Teradataの概要

Oracle GoldenGateでは、次のデータのレプリケーションをサポートしています。

- ソースのTeradataデータベース(ソース・サーバーとして知られている)とターゲットのTeradataデータベース(サブスクライバ・サーバーとして知られている)間

- Teradataデータベースとサポートされている他のデータベース・プラットフォーム間

さらに、Oracle GoldenGateによって、同一のTeradataのソース・サーバーとサブスクライバ・サーバー間でDDL操作がレプリケートされます。

Oracle GoldenGateは、Teradata Change Data Capture (CDC)ファシリティからトランザクションの変更または表のコピー操作を受信し、ODBC経由でサブスクライバに送信します。CDCとOracle GoldenGate間の通信は、Teradata Access Module (TAM)によって管理されます。

Oracle GoldenGate for Teradataでは、特に注記のないかぎり、データのフィルタリング、マッピングおよび変換がサポートされています。

1.2 このドキュメントの内容

このドキュメントには、Teradata環境内のOracle GoldenGateソリューションのセットアップ固有の情報が記載されています。このドキュメントは、TeradataデータベースおよびTeradata Replication Solutionsの基本的な知識を持つ読者を対象にしています。さらに、次の内容を正しく構成していることを前提とします。

- Relay Services Gateway (RSG)

- Change Data Capture (CDC)

- Teradata Access Module (TAM)

- レプリケーション・グループ

Teradataデータベースにレプリケーションを構成するには、Teradata Corporationの『Teradata Replication Solutions』のドキュメントを参照してください。

1.3 レプリケーション・サーバーとしてサポートされているプラットフォーム

Teradata環境では、ソースのTeradataデータベースとターゲットのTeradataデータベースがインストールされているサーバーとは別のサーバーにOracle GoldenGateをインストールします。このマシンはレプリケーション・サーバーとなり、Teradataデータベース用にOracle GoldenGateでサポートされているプラットフォームにする必要があります。データベースのバージョンとオペレーティング・システムの特定の組合せにOracle GoldenGateのどのビルドを使用できるかを調べるには、http://support.oracle.comにログインし、「動作保証」タブを選択します。サポートが必要な場合、「動作保証検索のヒント」をクリックします。このサイトに入るには、電子メールとパスワードが必要です。

1つまたは複数のレプリケーション・サーバーを選択する際の注意点は次のとおりです。

- レプリケーション・サーバーは、ソース・サーバーまたはターゲット・サーバーと同じロケーションに配置するか、それらのサーバーのいずれかまたは両方から離れたロケーションに配置することができます。離れた場所にあるTeradataのシステム間のレプリケーションでは、ソースの場所にあるレプリケーション・サーバーにOracle GoldenGateのExtractプロセスをインストールし、ターゲットの場所にある別のレプリケーション・サーバーにOracle GoldenGateのReplicatプロセスをインストールします。

- 可能な場合、複数ノードのクラスタ・サーバーにOracle GoldenGateをインストールし、サーバーの故障によるOracle GoldenGateの停止の影響を最小限に抑えます。

追加構成に関する考慮事項については、Oracle GoldenGateをインストールする前に、Teradata Corporationの『Teradata Replication Services Using Oracle GoldenGate』のドキュメントを参照してください。

1.4 オペレーティング・システム要件

この項では、Oracle GoldenGateのサポートに必要なオペレーティング・システム・リソースについて説明します。これらのリソースは、データベース・サーバー、レプリケーション・サーバーまたはすべてのサーバーに適用されます。

1.4.1 メモリー要件

Oracle GoldenGateに必要なメモリー量は、処理するデータ量、実行中のOracle GoldenGateプロセスの数、Oracle GoldenGateで使用可能なRAMの容量、およびオペレーティング・システムがRAMを解放する必要がある場合(通常は低水位標に到達した場合)に、Oracle GoldenGateがRAMのページを一時的にディスク上に格納するために使用できるディスク領域の容量によって異なります。このようなRAMを一時的にディスクに格納する方法は、一般にスワッピングまたはページングと呼ばれています(ここではスワッピングと呼びます)。プラットフォームによっては、スワップ領域という用語をスワップ・パーティション、スワップ・ファイル(Windows)、または共有メモリー・セグメント(IBM iプラットフォーム)と呼ぶ場合があります。

現在のサーバーには、Oracle GoldenGateを実行するのに十分なRAMと、十分なスワップ領域およびメモリー管理システムが搭載されています。ただし、Oracle GoldenGateが使用できるRAMの容量を増やすことで、Oracle GoldenGateだけでなくシステム全体のパフォーマンスが大幅に向上する場合があります。

Oracle GoldenGateの通常インストールでは、GB単位のRAMを提供することで、RAMページがディスクに過度にスワップされないようにしています。RAMの競合が増加すれば、より多くのスワップ領域が使用されます。

ディスクへの過度なスワッピングによって、特にExtractプロセスでパフォーマンスの問題が発生します(Extractではコミット・レコードを受信するまで各オープン・トランザクションのデータを格納しておく必要があるため)。Oracle GoldenGateがデータベースと同じシステム上で稼働している場合、使用可能なRAMの容量は双方のパフォーマンスにとって重要になってきます。

RAMとスワップの使用量は、Oracle GoldenGateプロセスではなくオペレーティング・システムによって制御されます。Oracle GoldenGateキャッシュ・マネージャは、オペレーティング・システムのメモリー管理機能を使用して、Oracle GoldenGateプロセスが持続的かつ効率的に動作するようにします。ほとんどの場合、ユーザーがOracle GoldenGateのメモリー管理のデフォルト構成を変更する必要はありません。

Oracle GoldenGateのメモリー要件評価の詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXのCACHEMGRパラメータに関する項を参照してください。

1.4.2 ディスクの要件

Oracle GoldenGateレプリケーション・サーバーに推奨されるハードウェア構成は、次のとおりです。

- 300GB ディスク4個

- デュアルコアCPU4個

- RAM 8GB

次のように空きディスク領域を割り当てます。

- Oracle GoldenGateのダウンロード・ファイルのサイズを確認するには、Oracle Software Delivery Cloudで選択したビルドをダウンロードする前に、「サイズ」列を表示します。表示された値は、圧縮形式のファイルのサイズです。ディスク上に展開されたOracle GoldenGateインストール・ディレクトリのサイズは、それよりも大幅に大きくなります。詳細は、2.2項「Oracle GoldenGateのダウンロード」を参照してください。

- Oracle GoldenGateの証跡(作業データが含まれているファイル)をホストするシステムに追加の1GB以上のディスク容量を割り当てます。証跡によって消費される領域は、処理されるデータ量に応じて変わるため、必要な量がこれを前後する場合もあります。証跡のサイズに関するガイドラインは、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

- Oracle GoldenGateをクラスタ環境にインストールするには、すべてのクラスタ・ノードで使用できる共有ファイル・システムにOracle GoldenGateのバイナリおよびファイルをインストールします。

1.4.3 Relay Services Gateway (RSG) vprocs

レプリケーション作業は、レプリケーション・サーバーとの接続のためにソース・データベース・サーバー上のRSG vprocsで実行されます。接続では、TCP/IPプロトコルを実装します。Teradata V12からは、各システム・ノードに1つのRSGがあります。

1.4.4 ネットワーク

Oracle GoldenGateをサポートするには、次のネットワーク・リソースを使用できる必要があります。

- Oracle GoldenGateに関連するシステムを、DNSを含むTCP/IPサービスを使用するように構成します。Oracle GoldenGateではIPv4およびIPv6がサポートされており、これらのプロトコルのいずれか、または両方がサポートされているシステムで動作できます。

- Oracle GoldenGateのプロセスをホストし、Oracle GoldenGateの接続先となるすべてのシステムのホスト名またはIPアドレスを使用してネットワークを構成します。ホスト名の方が便利です。

- Oracle GoldenGateには、予約されていない無制限のTCP/IPポートが必要で、その数は、構成内のプロセスの数とタイプによって異なります。必要なポートに対応するManagerプロセスの構成方法の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

- Oracle GoldenGateに割り当てたポートを記録します。Managerプロセスの構成時にパラメータを使用してそれらのポートを指定します。

- Oracle GoldenGateのポートを経由した接続を受け入れるようにファイアウォールを構成します。

1.4.5 オペレーティング・システム要件

Managerプロセスには、Oracle GoldenGateのプロセスを制御する権限とOracle GoldenGateディレクトリのファイルおよびサブディレクトリの読取り、書込み、削除を行う権限を持つオペレーティング・システム・ユーザーが必要です。ExtractプロセスおよびReplicatプロセスには、データベースにアクセスする特権が必要です。

1.4.6 コンソール

オペレーティング・システムとコマンド・コンソールのキャラクタ・セットは、同一にする必要があります。Microsoft Windowsシステムでは、オペレーティング・システムはあるキャラクタ・セットに設定されていますが、DOSコマンド・プロンプトでは、別の古いDOSキャラクタ・セットが使用されるため、不一致が発生します。Oracle GoldenGateでは、オペレーティング・システムのキャラクタ・セットを使用してGGSCIコマンド出力に情報が送信されるため、一致しないコンソールのキャラクタ・セットが原因で、文字が正しく表示されません。GGSCIセッションを実行する前に、次のDOSコマンドを使用して、コンソールのキャラクタ・セットを設定できます。

chcp OS character set

コード・ページの設定後に文字が正しく表示されない場合は、コンソールのフォントを、拡張キャラクタ・セットがあるLucida Consoleに変更してください。

1.4.7 その他のプログラム

Oracle GoldenGateをサポートするための追加の考慮事項は、次のとおりです。

- WindowsシステムにOracle GoldenGateをインストールする前に、Microsoft Visual C ++ 2010 SP1再頒布可能パッケージをインストールおよび構成します。それが、このパッケージのSP1バージョンであることを確認し、サーバーに適したビットのバージョンを取得していることを確認してください。このパッケージによって、Visual C++ライブラリのランタイム・コンポーネントがインストールされます。詳細についておよびこのパッケージをダウンロードするには、http://www.microsoft.comに移動してください。

- Oracle GoldenGateでは、プラットフォーム上で仮想化ソフトウェアを使用して作成された仮想マシン環境を完全にサポートします。Oracle GoldenGateを仮想マシン環境にインストールするときに、データベースと一致するビルドおよび仮想マシンのオペレーティング・システム(ホスト・システムではない)を選択します。

1.5 データベースの要件

この項では、Teradataデータベースに固有のOracle GoldenGateの要件について説明します。

1.5.1 データベース構成

データベース構成では次の要件に従います。

- 使用中のデータベースのバージョンに適したODBC (Open Database Connectivity)ドライバをインストールします。Oracle GoldenGateはデータベース・バージョン13.10、14.00および14.10.xをサポートしています。

- データ・ソース名(DSN)の作成も含め、ソースとターゲットの各システムにODBCを構成します。DSNには、そのデータベースに接続する方法に関する情報が保存されます。手順は、『ODBC Driver for Teradata User Guide』(http://www.info.teradata.com/)を参照してください。

- ソース表にTeradataレプリケーション・グループを作成します。手順については、『Teradata Replication Services Using Oracle GoldenGate』のドキュメント(http://www.info.teradata.com)を参照してください。

1.5.2 Oracle GoldenGateプロセス用のデータベース・ユーザー

Oracle GoldenGateプロセス用のデータベース・ユーザーでは次の要件に従います。

- Oracle GoldenGate専用のデータベース・ユーザーを作成します。データベースに接続する必要がある、次のOracle GoldenGateプロセスすべてに同じユーザーを使用できます。

- Extract (ソース・データベース)

- Replicat (ターゲット・データベース)

- DEFGENユーティリティ(ソース・データベースまたはターゲット・データベース)

- データのセキュリティを維持したり、Oracle GoldenGateの処理を的確に監視したりするには、他のユーザー、アプリケーションまたはプロセスに対してOracle GoldenGateデータベース・ユーザーでのログインまたは操作を許可しないでください。

- ソースのTeradataデータベースからの取得にOracle GoldenGateを使用する場合は、次のセキュリティ許可をExtractデータベース・ユーザーに発行します。

GRANT SELECT ON DBC.REPGROUP TO user;

GRANT SELECT ON DBC.TVM TO user;

GRANT SELECT ON DBC.DBASE TO user;

GRANT SELECT ON DBC.ERRORMSGS TO user;

GRANT SELECT ON DBC.TVFIELDS TO user;

GRANT SELECT ON DBC.INDEXES TO user;

GRANT SELECT ON DBC.INDOUBTRESLOG TO user;

GRANT REPLCONTROL TO user;

GRANT ALL ON database TO user;

GRANT ALL ON SYSUDTLIB TO user WITH GRANT OPTION;

- Oracle GoldenGateを使用してターゲットのTeradataデータベースにレプリケートする場合は、すべてのターゲット表に対するSELECT、INSERT、UPDATEおよびDELETEをReplicatデータベース・ユーザーに付与します。

1.6 サポートされているTeradataデータ型

表1-1は、Oracle GoldenGateでサポートされているTeradataデータ型を示します。適用される制限事項および条件は、この表の後に記載されています。

表1-1 Oracle GoldenGateでサポートされているデータ型(Teradataバージョン別)

データ型

v12

v13

v13.1

BLOB

いいえ

はい

はい

BYTEINT

はい

はい

はい

VARBYTE

はい

はい

はい

BIGINT

はい

はい

はい

BYTEINT

はい

はい

はい

DATE

はい

はい

はい

DECIMAL - 18 and under

はい

はい

はい

DECIMAL - 19 to 38

いいえ

はい

はい

DOUBLE PRECISION

はい

はい

はい

FLOAT

はい

はい

はい

INTEGER

はい

はい

はい

NUMERIC - 18 and under

はい

はい

はい

NUMERIC - 19 to 38

いいえ

はい

はい

REAL

はい

はい

はい

SMALLIINT

はい

はい

はい

TIME

はい

はい

はい

TIMESTAMP

はい

はい

はい

INTERVAL

はい

はい

はい

INTERVAL DAY

はい

はい

はい

INTERVAL DAY TO HOUR

はい

はい

はい

INTERVAL DAY TO MINUTE

はい

はい

はい

INTERVAL DAY TO SECOND

はい

はい

はい

INTERVAL HOUR

はい

はい

はい

INTERVAL HOUR TO MINUTE

はい

はい

はい

INTERVAL HOUR TO SECOND

はい

はい

はい

INTERVAL MINUTE

はい

はい

はい

INTERVAL MINUTE TO SECOND

はい

はい

はい

INTERVAL MONTH

はい

はい

はい

INTERVAL SECOND

はい

はい

はい

INTERVAL YEAR

はい

はい

はい

INTERVAL YEAR TO MONTH

はい

はい

はい

CHAR

はい

はい

はい

CLOB

いいえ

はい

はい

CHAR VARYING

はい

はい

はい

LONG VARCHAR

はい

はい

はい

VARCHAR

はい

はい

はい

GRAPHIC

はい

はい

はい

LONG VARGRAPHIC

はい

はい

はい

VARGRAPHIC

はい

はい

はい

PERIOD (DATE)

いいえ

はい

はい

PERIOD (TIME)

いいえ

はい

はい

PERIOD (TIMESTAMP)

いいえ

はい

はい

UDT

いいえ

はい

はい

1.6.1 数値データ型に関するサポートの制限事項

数値データ型は、Teradataのソース・データベースとターゲット・データベース間で完全にサポートされています。ソース・データベースでTeradataよりも多い桁数がサポートされている場合に、それらのデータ型を別のタイプのデータベースからTeradataにレプリケートすると、切捨てが発生する可能性があります。

サポートされる浮動小数点数の範囲と精度は、ホスト・マシンによって異なります。一般的に、精度は16桁まで正確ですが、データベースのドキュメントを確認して必要な近似値を決定する必要があります。Oracle GoldenGateでは、サポートされている精度を超える値は丸められるか切り捨てられます。

1.6.2 シングルバイト文字データ型に関するサポートの制限事項

シングルバイト文字型は、TeradataのソースとTeradataのターゲット間と他のデータベースとTeradata間に設定されているシングルバイトのラテン文字内で完全にサポートされています。VARCHAR列またはCHAR列の長さは、32k-1バイトを超えることはできません。UTF-16を使用する場合、この長さは16k-2文字です。

1.6.3 マルチバイト文字データに関するサポートの条件および制限事項

マルチバイト文字データに関するサポートの条件および制限事項を次に示します。

- Windowsレプリケーション・サーバーまたはLinuxレプリケーション・サーバーにOracle GoldenGateをインストールしてください。

- Teradata ODBCドライバ12.0.0.xまたはそれ以降のバージョンを使用してください。

- マルチバイト・データ型にフィルタリング、マッピングおよび変換を使用しないでください。

- ソースのTeradata表に使用できるのは、CHAR、VARCHAR、INTEGER、SMALLINT、DATE、TIMEおよびTIMESTAMP列のみです。マルチバイト・データ型をレプリケートしている間は、その他のデータ型をレプリケートすることはできません。

- CHAR列またはVARCHAR列の長さは、32k-1バイトを超えることはできません。UTF-16を使用する場合、それらの列の長さは16k-2文字を超えることはできません。

- 初期化ファイルでODBCドライバおよびTeradata Access Module (TAM)をUTF-16キャラクタ・セットに設定します。

- Replicatグループを作成するときに、ADD REPLICATコマンドでNODBCHECKPOINTオプションを使用してください。Replicatデータベースのチェックポイント機能では、UTF-16文字セットに設定されているODBCドライバはサポートされません。チェックポイントはディスク上のチェックポイント・ファイルに保持されます。

- Linux上でUnicodeをサポートするには、Oracle GoldenGateをパススルー・モードで構成し、ODBC Teradata Linuxドライバを12.0.0.7以降のバージョンあるいは13.0.0.5以降のバージョンにする必要があります。パススルー・モードの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXのPASSTHRUパラメータに関する項を参照してください。

1.6.4 バイナリ・データ型に関するサポートの制限事項

制限事項はありません。これらのデータ型は、ソースのTeradataとターゲットのTeradata間および他のソース・データベースとターゲットのTeradata間でサポートされています。

1.6.5 ラージ・オブジェクト・データ型に関するサポートの制限事項

ラージ・オブジェクト・データ型に関するサポートの制限事項を次に示します。

- UDTをレプリケートするには、ターゲット・データベースをTeradata Database 12.00.00.01以降にする必要があります。

- ラージ・オブジェクトを他のデータベースからTeradataにレプリケートするには、ターゲット・システムでTeradata ODBCドライバ12.0以降のバージョンを使用してください。ターゲットでは、ODBCによって配布されるラージ・オブジェクトをサポートする必要があります。

- ODBC構成ファイルでUseNativeLOBSupportフラグを有効にしてください。Teradata ODBCドキュメントを参照してください。

1.6.6 日付データ型に関するサポートの制限事項

日付データ型に関するサポートの制限事項を次に示します。

- 日付型は、Teradataのソース・データベースとターゲット・データベース間で完全にサポートされています。さらに、ターゲット列のサイズがソースのサイズ以上である場合には、TeradataとOracle間でINTERVALがサポートされます。

- DATE、TIMEおよびTIMESTAMPは、別のタイプのソース・データベースからTeradataにレプリケートするときに完全にサポートされます。

- TIME with TIMESZONE、TIMESTAMP with TIMEZONEおよびINTERVALは、別のタイプのソース・データベースからTeradataへはサポートされません。

- Oracle GoldenGateでは、0001/01/03:00:00:00から9999/12/31:23:59:59までのタイムスタンプ・データをサポートしています。タイムスタンプをGMTからローカル時間に変換すると、これらの制限は変換後のタイムスタンプにも適用されます。タイムゾーンによっては変換で時間が前後することがあり、それが原因でタイムスタンプがサポートされている上限または下限を超える場合があります。

- Oracle GoldenGateでは、マイナスの日付はサポートされていません。

1.6.7 IDENTITYデータ型に関するサポートの制限事項

Replicatによって正しい値が挿入されるように、ターゲットでIDENTITYをGENERATED BY DEFAULT AS IDENTITYとして構成する必要があります。双方向のレプリケーション構成でIDENTITYを含めるには、ソース・システムおよびターゲット・システムで定義されている値の範囲をばらばらにする必要があります(たとえば、一方で奇数、他方で偶数)。

1.7 Teradataでサポートされているオブジェクトおよび操作

この項では、Oracle GoldenGateでサポートされているデータ操作およびデータベース・オブジェクトをリストします。

1.7.1 DML

Oracle GoldenGateでは、データベースによってサポートされている表ごとに最大列数がサポートされています。

1.7.2 DDL

次のいずか1つの条件を満たしている場合に、Teradata DDLステートメントをレプリケートできます。

- DDLステートメントがレプリケーション・グループのメンバーである表に作用すること。

- DDLステートメントがユーザー定義のレプリケーション・ルールに一致すること。

- DDLステートメントによって、レプリケーション・グループの特定のプロパティが変更されること。

表1-2は、Oracle GoldenGateでサポートされているTeradata DDL操作を示します。文の長さは最大2MBまでサポートされています。少なくともTAM 13.0が必要です。ソースおよびターゲットの両方のデータベースをTeradata Database 13.0またはそれ以降のバージョンにする必要があります。

表1-2 サポートされているTeradata DDL

操作

オブジェクト

CREATE

TABLE table name脚注 1

GLOBAL TEMPORARY TABLE table name脚注 2

[RECURSIVE] VIEW view name

MACRO macro name

HASH INDEX index name

JOIN INDEX index name

TRIGGER trigger name

ALTER

TABLE

DROP

TABLE table name

VIEW view name

MACRO macro name

HASH INDEX index name

JOIN INDEX index name

TRIGGER trigger name

RENAME

TABLE table name TO

VIEW view name TO

MACRO macro name

TRIGGER trigger name

GRANT ... ON

REVOKE ... ON

TABLE table name

VIEW view name

MACRO macro name

REPLACE

[RECURSIVE] VIEW view name

TRIGGER trigger name

MACRO macro name

COMMENT ON脚注 3

TABLE table name

COLUMN table name.column name

VIEW view name

COLUMN view name.column name

MACRO macro name

TRIGGER trigger name

COLLECT STATISTICS ON脚注 4

DROP STATISTICS ON

table name

脚注 1 レプリケーション・グループのメンバーである表のDDL操作が自動的にキャプチャされます。

脚注 2 表の一時的な実体化状態を参照するDDLステートメントはレプリケートできません。

脚注 3 データ・ディクショナリにユーザー定義のオブジェクト記述を作成するCOMMENT文のみが取得されます。

脚注 4 表のアクセスおよび結合計画を生成するためにオプティマイザで使用されるオプティマイザ・フォームのみがキャプチャされます。

注意:

DDLサポートの実際のサイズには、文のテキストに加え、オブジェクト名の長さ、DDL型および内部でのDDLレコード保持のその他の特性に応じて異なるOracle GoldenGateのメンテナンス・オーバーヘッドも含まれるため、実際のサイズ制限は概算です。

レプリケーション・グループのプロパティを変更する次のDDLステートメントは、自動的にレプリケートされます。

- ADD句/DROP句を含むALTER REPLICATION GROUP

- CREATE REPLICATION RULESET

- REPLACE REPLICATION RULESET

- DROP REPLICATION RULESET

注意:

新しいセキュリティ・トークンの生成に使用されるALTER REPLICATION GROUP文は、レプリケートされません。

その他のサポートの制限事項および構成手順の詳細は、第5章「TeradataデータベースへのDDL同期の構成」を参照してください。

2 Oracle GoldenGateのインストール

この章では、Oracle GoldenGateを初めてインストールする方法について説明します。この章は、次の各項で構成されます。

- 2.1項「インストールの概要」

- 2.2項「Oracle GoldenGateのダウンロード」

- 2.3項「UNIX上での動的ビルドのライブラリ・パスの設定」

- 2.4項「クラスタへのOracle GoldenGateのインストール準備」

- 2.5項「LinuxおよびUNIX上でのOracle GoldenGateのインストール」

- 2.6項「WindowsへのOracle GoldenGateのインストール」

- 2.7項「クラスタへのOracle GoldenGateの統合」

2.1 インストールの概要

次の手順は、Oracle GoldenGateを初めてインストールする場合に実行します。また、Oracle GoldenGateの新しいバージョンの基本リリースをダウンロードする場合も対象です。基本リリースの後続のパッチをダウンロードしてインストールするには、My Oracle Support (次のサイト)の「パッチと更新版」タブに移動します。

http://support.oracle.com

Oracle GoldenGateをあるバージョンから別のバージョンにアップグレードするには、次のサイトにあるアップグレードの手順に従ってください。

http://www.oracle.com/technology/software/products/goldengate/index.html

Oracle GoldenGateは、Teradataデータベースが存在するサーバーとは別のレプリケーション・サーバー(Linux、UNIXまたはWindowsサーバー)上で動作します。レプリケーション・サーバーは1つにすることも、ソースとターゲットに1つずつにすることも可能です。詳細は、1.3項「レプリケーション・サーバーとしてサポートされているプラットフォーム」を参照してください。

2.2 Oracle GoldenGateのダウンロード

Oracle GoldenGate構成に含める各システムに、Oracle GoldenGateの適切なビルドをダウンロードします。

1. http://edelivery.oracle.comに移動します。
「Oracle Software Delivery Cloud」ページが開きます。

2. 「サインイン/登録」をクリックします。

注意:

まだログインしていない場合は、「シングル・サインオン」ページが開きます。Oracle IDとパスワードを入力し、「サインイン」をクリックします。

「条項および規制」ページが開きます。

3. 「Oracle Software Delivery Cloudトライアル・ライセンス契約」および「輸出規制」に同意して、「続行」をクリックします。
「メディア・パック検索」ページが開きます。

4. 「メディア・パック検索」ページで次の操作を実行します。

1. 製品パックを選択ドロップダウン・コントロールをクリックし、リストから「Oracle Fusion Middleware」を選択します。

2. 「プラットフォーム」ドロップダウン・コントロールをクリックし、リストからOracle GoldenGateのインストール先のプラットフォームを選択します。

3. 「実行」をクリックします。

検索条件を満たす利用可能なすべてのメディア・パックが「結果」リストに展開表示されます。

5. 「結果」リストで、ダウンロードするメディア・パック選択して「続行」をクリックします。
メディア・パックのダウンロード・ページが開きます。ダウンロードの選択肢が複数表示されます(たとえば、データベースやデータベースのバージョンごとに異なるビルド)。このページには、ダウンロード可能なファイル別に部品番号とサイズが記載されています。

6. ファイルのダウンロードが正常に実行されるようにするには、 まず「README」をクリックし、 メディア・パックReadmeでダウンロードの手順および製品情報を確認します。Readmeには、新機能、新しい要件または現在の構成に影響するバグ修正に関するリリース・ノートおよびその他の既知の問題が記載されています。

7. ダウンロード・プロセスを開始するには、ダウンロードするOracle GoldenGateのビルド名の横にある「ダウンロード」をクリックします。
「ファイル・ダウンロード」ダイアログ・ボックスが開きます。

8. 「次で開く」または「ファイルの保存」のいずれかを選択します。

目的

選択

ただちにメディア・パックをインストール

「開く」を選択し、使用するファイル解凍ユーティリティを選択して、ファイル・システム上の指定場所にファイルを抽出します。

ファイルを保存して後でインストール

「保存」を選択し、ファイル・システム上の指定場所を参照します。

2.3 UNIX上での動的ビルドのライブラリ・パスの設定

Oracle GoldenGateでは、共有ライブラリを使用します。UNIXシステムにOracle GoldenGateをインストールし、Oracle GoldenGateインストール・ディレクトリの外部でGGSCIプログラムを実行する場合、GGSCIまたは他のOracle GoldenGateプロセスを実行する前に次の手順を実行しておく必要があります。

- (オプション) Oracle GoldenGateインストール・ディレクトリをPATH環境変数に追加します。

- (必須) Oracle GoldenGateインストール・ディレクトリを共有ライブラリの環境変数に追加します。

たとえば、Oracle GoldenGateインストール・ディレクトリが/users/oggの場合、次の例の2番目のコマンドを実行するには、これらの変数を設定しておく必要があります。

表2-1 ライブラリ変数を必要とするコマンド

コマンド

環境変数にGGライブラリが必要であるか

$ users/ogg > ./ggsci

いいえ

$ users > ./ogg/ggsci

はい

Kornシェルで環境変数を設定する場合:

PATH=installation_directory:$PATH
export PATH
shared_libraries_variable=absolute_path_of_installation_directory:$shared_libraries_variable
export shared_libraries_variable

Bourneシェルで環境変数を設定する場合:

export PATH=installation_directory:$PATH
export shared_libraries_variable=absolute_path_of_installation_directory:$shared_libraries_variable

Cシェルで変数を設定する場合:

setenv PATH installation_directory:$PATH
setenv shared_libraries_variable absolute_path_of_installation_directory:$shared_libraries_variable

ここで、shared libraries variableは、表2-2に示されている変数のいずれかです。

表2-2 UNIX/Linuxライブラリ・パス変数(プラットフォーム別)

プラットフォーム脚注 1

環境変数

IBM AIX

IBM z/OS

LIBPATH

HP-UX

SHLIB_PATH

Sun Solaris

HP Tru64 (OSF/1)

LINUX

LD_LIBRARY_PATH脚注 2

脚注 1 特定のプラットフォームは、Oracle GoldenGateで、ご使用のデータベース用にサポートされている場合とサポートされていない場合があります。

脚注 2 32ビットのOracleデータベースが実行されている64ビット環境では、32ビットのOracleライブラリを含めるために、Oracle GoldenGateにLD_LIBRARY_PATHが必要です。

例

export LD_LIBRARY_PATH=/ggs/10.0:$LD_LIBRARY_PATH

注意:

Oracle GoldenGateプロセスに必要なライブラリを表示するには、そのプロセスを開始する前にldd goldengate_processシェル・コマンドを使用します。欠落がある場合には、このコマンドによってエラー・メッセージも表示されます。

2.4 クラスタへのOracle GoldenGateのインストール準備

このトピックでは、Oracle GoldenGateをクラスタ環境にインストールする際に適用されるインストール要件を説明します。Oracle GoldenGateは、Oracleで動作保証されている任意のクラスタ管理ソリューションと組み合せて使用できます。

2.4.1 Oracle GoldenGateのバイナリおよびファイルをインストールするクラスタ内の場所の決定

少なくともいくつかのOracle GoldenGateオブジェクトを共有記憶域にインストールする必要があります。クラスタのすべてのノードから独立していて、すべてのノードで使用可能な、クラスタ対応の共有記憶域を選択してください。ベスト・プラクティスは、Oracle GoldenGate全体を共有記憶域にインストールすることです。この場合、パラメータ・ファイルを変更せずに、任意のノードからOracle GoldenGateプロセスを開始できます。アクティブ・ノードが停止した場合でも、インストール・ディレクトリに保存されている処理チェックポイントを使用して、すぐに別のノードでプロセスを開始できます。

共有記憶域ではなく、各ノードにOracle GoldenGateのバイナリおよびファイルをインストールする場合は、次に当てはまる必要があります。

- Oracle GoldenGateインストールの場所のパスが、すべてのノードで同一であることが必要です。

- Oracle GoldenGateのリカバリ要件をサポートするには、少なくとも、次のディレクトリを共有記憶域にインストールしてください。UNIXまたはLinuxでは、各ノードのインストール・ディレクトリから、それらに対してシンボリック・リンクを作成できます。

- dirchk

- dirdat

これらは、インストール中にCREATE SUBDIRSを発行した際に作成されたディレクトリです。

- dirprmディレクトリのパラメータ・ファイルが共有ドライブに配置されていない場合は、すべてのノードで同一であることが必要です。ノード間で別々にする必要がある環境設定を解決するために、ローカルのManagerプロセスから継承するように環境設定を行うことや、ノード固有のOracle GoldenGateマクロ・ファイルを参照することが可能です。このシナリオを強制するのが困難な可能性もあるため、共有ドライブにパラメータ・ファイルを格納しておくことで、継承の考慮事項を回避できます。

Oracle GoldenGateをインストールしたら、2.7項「クラスタへのOracle GoldenGateの統合」も参照してください。

2.5 LinuxおよびUNIX上でのOracle GoldenGateのインストール

LinuxまたはUNIXシステム、あるいはクラスタ内の適切な場所にOracle GoldenGate for Oracleをインストールするには、次の手順に従います。詳細は、2.4項「クラスタへのOracle GoldenGateのインストール準備」を参照してください。

1. Oracle GoldenGateのインストール・ファイルを、Oracle GoldenGateをインストールするシステムおよびディレクトリに抽出します。

2. コマンド・シェルを実行します。

3. ディレクトリを、新しいOracle GoldenGateディレクトリに変更します。

4. Oracle GoldenGateディレクトリからGGSCIプログラムを実行します。

GGSCI

5. GGSCIでは、次のコマンドを発行してOracle GoldenGateの作業ディレクトリを作成します。

CREATE SUBDIRS

6. 次のコマンドを発行してGGSCIを終了します。

EXIT

7. Teradata Access Module (TAM)ライブラリをレプリケーション・サーバーにあるOracle GoldenGateのルート・ディレクトリにインストールします。TAMは、Vendor Access Module (VAM)として知られているOracle GoldenGate APIと通信します。VAMによって、トランザクション・データの変更がExtractプロセスに渡されます。正しいTAMのバージョンとTeradataのバージョンを組み合せる手順およびTeradataデータベースとOracle GoldenGateを併用するためにTAMを構成する手順については、『Teradata Replication Services Using Oracle GoldenGate』のドキュメント(http://www.info.teradata.com)を参照してください。一般に、TAMのバージョンはデータベースのバージョンと一致させる必要があります。

2.6 WindowsへのOracle GoldenGateのインストール

Windowsシステムまたはクラスタ内の適切な場所にOracle GoldenGate for Oracleをインストールするには、次の手順に従います。詳細は、2.4項「クラスタへのOracle GoldenGateのインストール準備」を参照してください。

2.6.1項「WindowsクラスタへのOracle GoldenGateのインストール」

2.6.2項「Oracle GoldenGateファイルのインストール」

2.6.3項「Managerのカスタム名の指定」

2.6.4項「WindowsサービスとしてのManagerのインストール」

2.6.1 WindowsクラスタへのOracle GoldenGateのインストール

WindowsクラスタへOracle GoldenGateをインストールする手順:

1. Windowsクラスタのノードの1つにログインします。

2. Oracle GoldenGateインストールの場所用のドライブを選択します。このドライブは、データベース・インスタンスが含まれているのと同じWindowsクラスタ・グループ内のリソースにする必要があります。

3. このWindowsクラスタ・グループがログインしているクラスタのノードによって所有されていることを確認します。

4. 次の手順に従ってOracle GoldenGateをインストールします。

2.6.2 Oracle GoldenGateファイルのインストール

Oracle GoldenGateファイルをインストールする手順:

1. WinZipまたは同等の圧縮製品を使用して、ダウンロードしたファイルを解凍します。

2. Oracle GoldenGateをインストールするドライバ上のフォルダに、それらのファイルをバイナリ・モードで移動します。パスが引用符で囲まれている場合でも、名前に空白が含まれているフォルダにOracle GoldenGateをインストールしないでください。次に例を示します。
C:\"Oracle GoldenGate "は無効です。

C:\Oracle_GoldenGateは有効です。

3. Oracle GoldenGateフォルダからGGSCIプログラムを実行します。

4. GGSCIでは、次のコマンドを発行してOracle GoldenGateの作業ディレクトリを作成します。

CREATE SUBDIRS

5. 次のコマンドを発行してGGSCIを終了します。

EXIT

6. Teradata Access Module (TAM)ライブラリをレプリケーション・サーバーにあるOracle GoldenGateのルート・ディレクトリにインストールします。TAMは、Vendor Access Module (VAM)として知られているOracle GoldenGate APIと通信します。VAMによって、トランザクション・データの変更がExtractプロセスに渡されます。正しいTAMのバージョンとTeradataのバージョンを組み合せる手順およびTeradataデータベースとOracle GoldenGateを併用するためにTAMを構成する手順については、『Teradata Replication Services Using Oracle GoldenGate』のドキュメント(http://www.info.teradata.com)を参照してください。一般に、TAMのバージョンはデータベースのバージョンと一致させる必要があります。

2.6.3 Managerのカスタム名の指定

次のいずれかが当てはまる場合には、Managerプロセスのカスタム名を指定する必要があります。

- 既定のGGSMGR以外にManagerの名前を使用する場合。

- このシステム上にWindowsサービスとして実行しているManagerプロセスが複数存在する場合。システム上の各Managerの名前を一意にする必要があります。次の手順に進む前に、ローカルのManagerサービスの名前をメモしてください。

Managerのカスタム名を指定する手順:

1. Managerプログラムが格納されているディレクトリから、GGSCIを実行します。

2. 次のコマンドを発行します。

EDIT PARAMS ./GLOBALS

注意:

GLOBALSファイルはOracle GoldenGateインストール・ファイルのルートに存在する必要があるため、このコマンドでは./を使用する必要があります。

3. ファイルに次の行を追加します(nameは、Managerサービスの1語で構成される名前です)。

MGRSERVNAME name

4. ファイルを保存します。ファイルは、GLOBALSの名前でファイル拡張子を付けずに自動的に保存されます。このファイルを移動しないでください。これは、Windowsサービスのインストール時とデータ処理時に使用されます。

2.6.4 WindowsサービスとしてのManagerのインストール

既定では、Managerは、サービスとしてインストールせず、ローカル・アカウントまたはドメイン・アカウントによって実行可能です。ただし、このように実行すると、ユーザーがログアウトしたときにManagerが停止してしまいます。Managerをサービスとしてインストールすると、ユーザーの接続に関係なくManagerを操作でき、さらに手動で、あるいはシステムの起動時にManagerを開始するようにManagerを構成できます。

Windowsクラスタの場合にManagerをサービスとしてインストールする必要がありますが、それ以外の場合はオプションです。

WindowsサービスとしてManagerをインストールする手順:

1. (推奨)システム管理者としてログオンします。

2. 「スタート」→「ファイル名を指定して実行」をクリックし、「ファイル名を指定して実行」ダイアログ・ボックスに「cmd」と入力します。

3. サービスとしてインストールしているManagerプログラムが格納されているディレクトリから、次の構文を使用してINSTALLユーティリティを実行します。

install option [...]

ここで、optionは次のいずれかです。

表2-3 INSTALLユーティリティのオプション

オプション

説明

ADDEVENTS

Oracle GoldenGateのイベントをWindows Event Managerに追加します。

ADDSERVICE

存在する場合はGLOBALSファイルのMGRSERVNAMEパラメータに指定されている名前、またはデフォルトのGGSMGRで、Managerをサービスとして追加します。ユーザーのログインとパスワードの変更に関係なくサービスを実行できるため、ADDSERVICEは、ローカル・システム・アカウント(ほとんどのWindowsアプリケーションの標準)で実行するようにサービスを構成します。Managerを特定のアカウントで実行するには、USERオプションとPASSWORDオプションを使用します。脚注 1

サービスがシステムの起動時に開始するようにインストールされます(「AUTOSTART」を参照)。インストール後に開始するには、システムを再起動するか、「コントロール パネル」の「サービス」アプレットから手動でサービスを開始します。

AUTOSTART

ADDSERVICEを使用して作成されたサービスをシステムの起動時に開始するよう設定します。MANUALSTARTを使用しないかぎり、このオプションが既定です。

MANUALSTART

ADDSERVICEを使用して作成されたサービスを、GGSCI、スクリプトまたは「コントロール パネル」の「サービス」アプレットから手動で開始するよう設定します。デフォルトはAUTOSTARTです。

USER name

Managerを実行するドメイン・ユーザー・アカウントを指定します。nameについては、HEADQT\GGSMGRなどのようにドメイン名、バックスラッシュおよびユーザー名を入力します。

既定では、Managerは、Local Systemアカウントを使用するようにインストールされます。

PASSWORD password

USERを使用して指定されたユーザーのパスワードを指定します。

脚注 1 ユーザー・アカウントを変更するには、Windowsの「コントロール パネル」の「サービス」アプレットから「プロパティ」アクションを選択します。

4. (Windows Server 2008)Windows User Account Control(UAC)が有効である場合、コンピュータへのプログラム・アクセスを許可するか、または拒否するかを尋ねるプロンプトが表示されます。「許可」を選択して、INSTALLユーティリティを実行できるようにします。
INSTALLユーティリティによって、管理者権限があるローカル・システム・アカウントでManagerサービスがインストールされます。サービスとしてインストールすると、Managerの実行時にUACによるプロンプトが表示されません。

注意:

Managerをサービスとしてインストールしなかった場合には、GGSCIコマンド・プロンプトから開始するときに、Oracle GoldenGateユーザーに対してManagerの権限レベルを確認するようにUACのプロンプトが表示されます。Oracle GoldenGateの他のプログラムの実行でもプロンプトが表示されます。

2.7 クラスタへのOracle GoldenGateの統合

クラスタにOracle GoldenGateをインストールした場合は、次の手順を実行して、クラスタ・ソリューションにOracle GoldenGateを統合します。

2.7.1 クラスタの一般的な要件

クラスタへOracle GoldenGateを統合する場合の一般的な要件は次のとおりです。

1. Oracle GoldenGate Managerプロセス(およびManagerのみ)を、その他のアプリケーションと同じように、クラスタ管理のリソースとして登録します。Managerはその他すべてのプロセスを管理する親プロセスであるため、クラスタ管理のソフトウェアが開始および停止する唯一のOracle GoldenGateプロセスであることが必要です。

2. クラスタで仮想IPアドレスが使用されている場合は、Managerプロセス用に使用可能な固定IPアドレスを取得する必要があります。VIPはパブリック・サブネット上の使用可能なIPアドレスであることが必要で、DHCPで決定することはできません。Extractデータ・ポンプのパラメータ・ファイルに、RMTHOSTパラメータの入力値としてリモートManagerのVIPを指定します。Managerにアクセスするその他のOracle GoldenGate製品でも、そのVIPを使用する必要があります。

3. Managerを構成する際は、Managerがレプリケーション・プロセスを自動的に開始するように、AUTOSTARTおよびAUTORESTARTパラメータを追加します。必要な場合は、Oracle GoldenGateのユーザー・インタフェースから、Extract、Replicatおよびその他のOracle GoldenGateプロセスを制御できます。これらのパラメータの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

4. 1つのノードのみで共有ドライブにマウントします。これにより、プロセスが別のノードで開始されるのを防ぐことができます。すべてのノードで同じマウント・ポイントを使用します。

5. このドキュメントに記載されているようにOracle GoldenGateを構成します。

2.7.2 Windowsクラスタ・リソースとしてのOracle GoldenGateの追加

Oracle GoldenGateをWindowsクラスタにインストールした場合、次の手順に従ってOracle GoldenGateをクラスタ・リソースとして設定し、すべてのノード上でManagerサービスを正しく構成します。

- クラスタ管理者で、Oracle GoldenGateの接続先となるデータベースが含まれているグループにManagerプロセスを追加します。

- Oracle GoldenGateを実行するすべてのノードが、リソースの可能性のある所有者として選択されていることを確認します。

- ManagerのWindowsサービスに、次の依存性(「コントロール パネル」の「サービス」から構成可能)があることを確認します。

- データベース・リソース

- Oracle GoldenGateディレクトリを含むディスク・リソース

- データベースのトランザクション・ログ・ファイルを含むディスク・リソース

- データベースのトランザクション・ログ・バックアップ・ファイルを含むディスク・リソース

3 Oracle GoldenGateシステムの準備

この章では、Oracle GoldenGateをサポートするためのデータベースおよびシステムの準備について説明します。この章は、次の各項で構成されます。

- 3.1項「処理に向けた表の準備」

- 3.2項「Teradataのレプリケーション・グループの作成」

- 3.3項「Teradata TAMによるDDL取得のアクティブ化」

- 3.4項「DDLの取得の無効化」

- 3.5項「TAM初期化ファイルの構成」

3.1 処理に向けた表の準備

次の表属性は、Oracle GoldenGate環境で処理する必要があります。

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

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

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

ターゲットのSybase表でトリガー、カスケード削除制約およびカスケード更新制約を無効にしたり、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.1.2 行識別子の割当て

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

3.1.2.1 使用する行識別子の種類を決定するOracle GoldenGateの仕組み

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

1. 主キー

2. 英数字の順で最初の一意のキー(タイムスタンプもマテリアライズされていない計算結果列も含まれません)。

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

注意:

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

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

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

3.2 Teradataのレプリケーション・グループの作成

レプリケーション・グループを作成するには、CreateGroupStmtFile (Create Group文)ファイルを使用します。CreateGroupStmtFileを使用することで、レプリケーション・グループの正しい識別子情報が自動的にtam.iniファイルに書き込まれます。詳細は、『Teradata Replication Services Using Oracle GoldenGate』のドキュメントを参照してください。

相互に依存関係があるすべてのオブジェクトは、同じレプリケーション・グループで指定する必要があります。同じレプリケーション・グループ内にトランザクション全体を含める必要があります。

Create Group文のファイルを作成する手順:

1. テキスト・エディタを使用してテキスト・ファイルを作成します。

2. 次の行を入力します。

- Teradataのコマンドcreate replication group

- Teradataレプリケーション・グループの名前

- レプリケーション・グループに関連付けられる表リスト。表は1つのレプリケーション・グループにのみ関連付けることができます。Oracle GoldenGateのExtractグループごとに使用可能なレプリケーション・グループは1つのみです。

4. そのファイルを接尾辞.sqlを付けて、Oracle GoldenGateのインストール・ディレクトリ内のディレクトリ(ルート・レベルまたはdirtamなどの作成するサブディレクトリ)に保存します。

5. TAM初期化ファイルでCreateGroupStmtFileパラメータを使用して、このファイル名を指定します。詳細は、3.5項「TAM初期化ファイルの構成」を参照してください。

例3-1 Create Group文のサンプル・ファイル

Create Replication Group HRTRG1 (HR.EMPLOYEE, HR.EMP_INFO, HR.EMP_DEPT, HR.EMP_REVIEWS);

3.3 Teradata TAMによるDDL取得のアクティブ化

Teradata TAMからOracle GoldenGateに渡すDDLを指定するには、レプリケーション・グループにレプリケーションのルールセット文を作成します。ルールセット・ステートメントによって、1つ以上のDDLキャプチャ・ルールのセットが作成され、指定したレプリケーション・グループにそれらのルールが関連付けられます。DDL操作が実行されると、それらのルールがDDLステートメントのターゲット・オブジェクトの名前および型に適用され、ただちにそれらのオブジェクトがレプリケーションで使用可能になります。レプリケーション・グループのメンバーである表のDDL操作が自動的にキャプチャされます。

注意:

TeradataのRSGは、適切に構成する必要があります。詳細は、『Teradata Replication Services Using Oracle GoldenGate』のドキュメント(http://www.info.teradata.com)を参照してください。

Teradata TAMによるDDLキャプチャをアクティブにする手順:

1. REPLCONTROL権限を持つユーザーとしてログインします。

2. レプリケーションのルールセットを作成します。

[CREATE | REPLACE] REPLICATION RULESET ruleset

[, DEFAULT]

FOR replication_group

AS rule_specification [, rule_specification]

条件:

- rule_specificationは次のようになります。

object_kind LIKE string_literal [ESCAPE character_literal]
[AND NOT LIKE string_literal [ESCAPE character_literal] ]

- object_kindは次のようになります。

TABLE | TEMPORARY TABLE | VIEW | MACRO | TRIGGER | INDEX

使用に関する要件

- レプリケーション・グループに表リストで明示的に定義されたメンバーを含めるか、レプリケーション・グループをレプリケーションのルールセットに関連付けられている空のグループにする必要があります。

- 文のCREATEフォームを使用し、指定したレプリケーション・グループに同じルール・セット名のルール・セットがすでに存在する場合には、CREATE文が失敗します。

- 文のREPLACEフォームを使用し、指定したレプリケーション・グループに同じルール・セット名のルール・セットがすでに存在する場合には、既存のルールセットが新しいルール・セットに置き換えられます。

- DEFAULTオプションを使用した場合、ルール・セットにあるすべてのルールがデフォルトのルールとみなされます。他のルールがオブジェクトと一致しない場合、既定のルールが適用されます。

- 既定以外のルールは、別のレプリケーション・グループに関連付けられている既定以外のルールと同じオブジェクトと一致してはなりません。

- 既定のルールは、別のレプリケーション・グループに関連付けられている既定のルールと同じオブジェクトと一致してはなりません。

- LIKE句およびNOT LIKE句を使用してパターン文字列を指定し、SQL文のオブジェクトの完全修飾名と照合します。パターン文字列には、ワイルドカード文字を含めることができます。パターンとオプションのESCAPE文字は、LIKE述語演算子と同じように一緒に使用します。

レプリケーション・グループおよびルールセットの作成の詳細は、『Teradata Replication Services Using Oracle GoldenGate』のドキュメント(http://www.info.teradata.com)を参照してください。

例

この例では、MyRepGroupという名前のレプリケーション・グループにSales1という名前のルール・セットを作成して、SalesDBいう名前のデータベースに作成されている表を取得し、さらにビュー名に接尾辞_sが付いていないSalesDBのビューに影響を与えるDDLも取得します。

CREATE REPLICATION GROUP MyRepGroup

CREATE REPLICATION RULESET Sales1 FOR MyRepGroup AS

TABLE LIKE 'SalesDB.%',

VIEW LIKE 'SalesDB.%' AND NOT LIKE '%z_s' ESCAPE 'z'

アンダースコア(_)がワイルドカードとして処理されないようにエスケープ文字を使用することに留意してください。

Oracle GoldenGateのDDLレプリケーションを構成するには、第5章「TeradataデータベースへのDDL同期の構成」を参照してください。

3.4 DDLの取得の無効化

この項では、レプリケーション・グループを保持する場合または削除する場合のいずれかのケースで、Teradata DDLの取得およびレプリケーションを無効化する手順を説明します。

どちらの場合にもREPLCONTROL権限が必要です。

DDLの取得を無効化し、レプリケーション・グループを保持する場合:

DROP REPLICATION RULESET ruleset FOR replication_group

例:

DROP REPLICATION RULESET Sales1 FOR MyRepGroup;

DDLの取得を無効化し、レプリケーション・グループを削除する場合:

DROP REPLICATION GROUP replication_group [ ( table [, ... ] )]

例:

DROP REPLICATION GROUP MyRepGroup

3.5 TAM初期化ファイルの構成

Teradata Access Module(TAM)によって、ExtractプロセスにTeradata環境へのリンクが提供されます。TAMを構成するには、初期化ファイルを作成します。

次に、TAM初期化ファイルの例を示します。

Mode=Replication
DictOdbcConnString=DSN=myDsn;uid=myUser;pwd=myPass
MgmtOdbcConnString=DSN=myDsn;uid=myUser;pwd=myPass
CreateGroupStmtFile=c:\GGS\Teradata\dirtam\hrtrg1.sql
CharacterSet=ASCII
ControlRSG=10.10.10.49:1152
DataRSG1=10.10.10.50:1153
DataRSG2=node3
DataRSG3=node4:1155
Encryption=All

表3-1では、必須のTAM初期化パラメータについて説明します。

1. テキスト・エディタを使用してテキスト・ファイルを作成します。

2. 次の必須パラメータをファイルに追加します。必要に応じて、一覧に記載されているオプション・パラメータも使用できます。

表3-1 TAM初期化ファイルの必須パラメータ

パラメータ

説明

Mode={Replication}

必須

レプリケーション・モードをチェンジ・データ・キャプチャにすることを指定します。

DictOdbcConnString=ODBC_connection_string_for_metadata

必須

辞書表へのアクセス権限を持つユーザーのログオン文字列。

MgmtOdbcConnString=

ODBC_connection_string for_management_functions

必須

管理機能を実行する権限を持つユーザーのログオン文字列(CREATE REPLICATION GROUPなど)。このログオンには、REPLCONTROL権限が必要です。

CreateGroupStmtFile=

name

TAM12およびそれ以降のバージョンに必須

新しいグループのCREATE REPLICATION GROUP文が含まれているCreate Group文のファイル名。Create Group文のファイルを使用してレプリケーション・グループを作成しなかった場合には、このパラメータを省略またはコメントアウトし、GroupIDパラメータとSecurityTokenパラメータを使用します。

GroupID=
ID

SecurityTokenを使用する場合に必須

TAMに関連付けられるレプリケーション・グループのID。GroupIDを使用する場合、SecurityTokenを使用する必要があります。

このコマンドを使用して、レプリケーション・グループのIDを表示できます。

HELP REPLICATION GROUP replication_group;

例:

help replication group g1;

IDは、グループの名の横にあるIdentifier列にある数値IDです。

SecurityToken=
token

Create Groupステートメントを使用してレプリケーション・グループを作成しなかった場合に必須

TAMに関連付けられるセキュリティ・トークン。Create Group文のファイルを使用してグループを作成し、CreateGroupStmtFileパラメータを使用してそのファイルを指定した場合、SecurityTokenパラメータおよびGroupIDパラメータはランタイムで自動的に生成されるため、それらのパラメータを省略できます。

AltControlRSG=
IP_or_name

オプション

プライマリ・サーバーが失敗した場合に中央のRSGとして継承できるサーバーのIPアドレスまたは名前を指定します。

CharacterSet=

{ASCII | UTF16}

必須

このレプリケーション・グループの文字セット。UTF16に関連するオーバーヘッドが多くなるため、必須の場合にのみUTF16を使用します。

ControlRSG=address[:port]DataRSG1=address[:port][DataRSG2=address[:port]] [...]

必須

RSGのノード・アドレス。これはノード名またはIPアドレスにすることができます。これにはオプションのポート番号を付加できます。中央のRSGはシステムのRSGで最上位の番号にする必要があります。

Encryption={None | Control | Data | All}

必須

暗号化するメッセージのタイプ。データ・メッセージだけの暗号化とデータ・メッセージと制御メッセージの両方の暗号化では、オーバーヘッドに少し違いがあります。Allを使用して暗号化を指定するか、Noneを使用して暗号化なしを指定します。

RsgTimeoutSec=seconds

オプション

データのRSGポーリング時のタイムアウト(秒)。デフォルトは1です。有効な範囲は0から60秒です。

RsgTimeoutMSec=milliseconds

オプション

データのRSGポーリング時のタイムアウト(ミリ秒)。デフォルトは0です。有効な範囲は0から60000000ミリ秒です。

Tracing= {Debug |Performance |All |None}

オプション

デバッグ・トレースのレベル。

デフォルトはNoneです。

MaxProtTransCompleteThresh=number_of_transactions

オプション、最大保護モードに有効

保持できる未処理のトランザクション数で、これを超えると、Oracle GoldenGateのチェックポイントをリクエストする必要があります。これは、最大保護モードで動作する際に重要となります。高速でトランザクションを適用するセッションが大量にある場合には、このパラメータを10などの大きい値に設定できます。ただし、セッション数が少ない場合や送信速度が遅い場合、このパラメータを1から4などの小さい値に設定し、レイテンシを最小限に抑え、スループットを最大化することができます。デフォルトは0です。有効な範囲は0から24トランザクションです。

Bidirectional {TRUE | FALSE}

オプション

データの前イメージをOracle GoldenGateに送信するかどうかを指定します。ExtractパラメータGETUPDATEBEFORESを使用する場合には、TRUEにします。デフォルトはFALSEで、CDCオーバーヘッドおよび使用される通信帯域幅を減らすためにデータの後イメージのみが送信されます。

3. そのファイルをtam.iniという名前のASCIIファイルとして、Oracle GoldenGateのインストール・ディレクトリ内(ルート・レベルまたはdirtamなどの作成するサブディレクトリ)に保存します。

4. Extractパラメータ・ファイルでVAMパラメータを使用して、このファイル名を指定します。

4 Oracle GoldenGateの構成

この章では、Oracle GoldenGateがソースのTeradataデータベースのChange Data Capture (CDC)コンポーネントと連携して、最大保護モードまたは最大パフォーマンス・モードのいずれかのモードで動作する仕組みについて説明します。モードによって、使用されるコミット・プロトコルと、Oracle GoldenGateがTeradataのアプリケーションに影響を与えるかどうかが決定されます。この章は、次の各項で構成されます。

- 4.1項「最大保護モードでのOracle GoldenGateの構成」

- 4.2項「最大パフォーマンス・モードでのOracle GoldenGateの構成」

- 4.3項「Oracle GoldenGateのその他の構成ガイドライン」

4.1 最大保護モードでのOracle GoldenGateの構成

最大保護モードは、Teradataデータベースに推奨されるOracle GoldenGateの構成です。最大保護モードでは、ソース・サーバー上のCDCとレプリケーション・サーバー上のプライマリExtractプロセス間(TAM経由)で2フェーズ・コミット・プロトコルを使用することで、Oracle GoldenGateを本番システムに組み込みます。通信が中断したり、コンポーネントが失敗したりした場合にトランザクションが送信中に失われたり、重複したりしないように、2フェーズ・コミットでは、ソース・データベースだけでなく、Oracle GoldenGateにコミットされるソース・トランザクションも必要です。

このモードでは、すべてのデータを受信し、ディスク上のOracle GoldenGate VAM証跡に保存したことをプライマリExtractで認識されるまで、トランザクションは未決定です(コミットされません)。

- 一定のタイムアウト期間内にCDCで確認を受信した場合、アプリケーションへのコミット、データベースへのコミットおよびOracle GoldenGateによる伝播にトランザクションがCDCによって解放されます。

- 一定のタイムアウト期間内にCDCで確認を受信しなかった場合、CDCによってトランザクションがロールバックされ、エラー・メッセージがアプリケーションのユーザーに返されます。

VAM証跡は、トランザクション・ログと同様の一連のファイルです。これには、受信データが受信順に保存されますが、必ずしもトランザクション順であるとはかぎりません。VAMソートによるExtractとして知られているセカンダリExtractプロセスによって、データがトランザクション順にソートされ、ロールバックを受信した場合(2フェーズ・コミットが失敗したため)にはトランザクションが削除されるか、さらに処理するためにトランザクションが定期的な証跡に解放されます。

4.1.1 推奨される最大保護の構成

別々のレプリケーション・サーバーにExtractプロセスとReplicatプロセスをインストールし、Extractプロセスがインストールされているサーバー上でデータ・ポンプとローカル証跡を併用します。この構成では、プライマリExtractグループによってデータが取得され、VAMソートによるExtractによってソートされたデータがローカル・ディスクでの定期的なOracle GoldenGate証跡まで保持されます。データ・ポンプExtractによってこの証跡が読み取られ、そのデータがTCP/IP経由でReplicatレプリケーション・サーバー上の証跡に送信されますが、そのデータがReplicatプロセスによって再度読み取られ、ターゲットに適用されます。ExtractサーバーとReplicatサーバー間の通信が失敗した場合に影響を受けるのは、データ・ポンプだけです。機能停止が続いても、他の2つのExtractプロセスでは、メモリーが不足することなく作業を続行できます。

図4-1 推奨される最大保護の構成

4.1.2 最大保護モードでのExtractの構成

ソースのレプリケーション・サーバー上で次の手順を実行します。

1. Oracle GoldenGateの管理for Windows and UNIXの手順に従ってManagerプロセスを構成します。

2. Managerパラメータ・ファイルでは、PURGEOLDEXTRACTSパラメータを使用してローカル証跡からのファイルの削除を制御します。

3. GGSCIを実行します。

4. プライマリExtractグループを作成します。説明上、このグループをextと呼びます。

ADD EXTRACT ext, VAM

5. VAM証跡にするローカル証跡を作成します。

ADD EXTTRAIL VAM_trail, EXTRACT ext

EXTRACT引数を使用して、この証跡をプライマリExtractグループにリンクします。そのExtractグループによってこの証跡がVAM証跡として作成されます。

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

注意:

データベース・パスワード、証跡内のデータおよびTCP/IP経由で送信されるデータの暗号化には、暗号化オプションがあります。セキュリティ機能の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

例4-1 プライマリExtractグループのパラメータ

-- Identify the Extract group:
EXTRACT ext
-- Specify database login information as needed for the database:
[SOURCEDB dsn1,][USERID user[, PASSWORD pw]]
-- Specify the VAM trail:
EXTTRAIL VAM_trail
-- Specify that this Extract creates and writes to a VAM trail:
DSOPTIONS CREATETRANLOG RESTARTAPPEND, VAMCOMPATIBILITY 1
-- Specify library, TAM initialization file, and callback program for the TAM:
VAM library, PARAMS (inifile, ini_file, callbackLib, extract.exe)
-- Specify tables to be captured:
TABLE owner.table;

7. VAMソートによるExtractグループを作成して、VAM証跡を読み取ります。説明上、このグループをextsortと呼びます。

ADD EXTRACT extsort, VAMTRAILSOURCE VAM_trail

8. ローカル証跡を追加して、ソートされたデータを受信します。

ADD EXTTRAIL local_trail, EXTRACT extsort

EXTRACT引数を使用して、この証跡をVAMソートによるExtractグループにリンクします。データ・ポンプ・グループによって、この証跡が読み取られます。

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

例4-2 VAMソートによるExtractグループのパラメータ

-- Identify the Extract group:
EXTRACT extsort
-- Specify database login information as needed for the database:
[SOURCEDB dsn1,][USERID user[, PASSWORD pw]]
-- Specify that this Extract reads a VAM trail and sorts the data:
DSOPTIONS SORTTRANLOG
-- Specify the local trail to receive the sorted data:
EXTTRAIL local_trail
-- Specify tables to be captured:
TABLE owner.table;

10. データ・ポンプ・グループを作成して、ローカル証跡を読み取り、そのデータを次のいずれかにあるリモート証跡に送信します。

- ターゲットのTeradataデータベースに対してReplicatを実行しているレプリケーション・サーバー。

- Oracle GoldenGateでサポートされている別のデータベース・プラットフォームに対してReplicatを実行しているターゲット・サーバー。

ADD EXTRACT pump, EXTTRAILSOURCE local_trail

説明上、このグループをpumpと呼びます。

11. リモート証跡を追加します。

ADD RMTTRAIL remote_trail, EXTRACT pump

EXTRACT引数を使用して、リモート証跡をデータ・ポンプ・グループにリンクします。

12. データ・ポンプにパラメータ・ファイルを作成します。データベース環境に適用される他のパラメータに加え、例4-3に示されているパラメータを含めてください。

例4-3 データ・ポンプExtractグループのパラメータ

-- Identify the data pump group:
EXTRACT pump
-- Specify database login information as needed for the database:
[SOURCEDB dsn1,][USERID user[, PASSWORD pw]]
-- Specify the name or IP address of the remote system:
RMTHOST target, MGRPORT portnumber
-- Specify the remote trail:
RMTTRAIL remote_trail
-- Allow mapping, filtering, conversion or pass data through as-is:
[PASSTHRU | NOPASSTHRU]
-- Specify tables to be captured:
TABLE owner.table;

注意:

PASSTHRUモードを使用するには、ソース・オブジェクトおよびターゲット・オブジェクトの名前を同じにする必要があります。パラメータ・ファイルでは、列マッピング、フィルタリング、SQLEXEC機能、変換、またはデータ操作が必要なその他の機能を指定することはできません。PASSTHRUおよびNOPASSTHRUと別のTABLE文を組み合せることで、通常の処理とパススルー処理を組み合せることができます。

4.1.3 最大保護モードをサポートするためのReplicatの構成

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

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

1. Oracle GoldenGateの管理for Windows and UNIXの手順に従ってManagerプロセスを構成します。

2. Managerパラメータ・ファイルでは、PURGEOLDEXTRACTSパラメータを使用してローカル証跡からのファイルの削除を制御します。

3. Replicatチェックポイント表を作成します。この目的に複数のオプションがあります。手順は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

4. Replicatグループを作成します。説明上、このグループをrepと呼びます。

ADD REPLICAT rep, EXTTRAIL remote_trail

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

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

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

-- Identify the Replicat group:
REPLICAT rep
-- State whether or not source and target definitions are identical:
SOURCEDEFS {full_pathname | ASSUMETARGETDEFS}
-- Specify database login information as needed for the database:
[TARGETDB dsn2,] [USERID user id[, PASSWORD pw]]
-- Specify error handling rules (See the NOTE following parameter file):
REPERROR (error, response)
-- Specify tables for delivery:
MAP owner.table, TARGET owner.table[, DEF template name];

注意:

TeradataのMultiloadは、最大保護モードの完全な2フェーズ・コミット・プロトコルに関与しません。復元の状況では、Replicatで一部の更新が2回適用された可能性があります。multiset表に影響する場合には、この結果、重複する行が作成される可能性があります。Replicatパラメータ・ファイルでREPERRORパラメータを使用して、Replicatで重複する行が無視されるようにします。

4.2 最大パフォーマンス・モードでのOracle GoldenGateの構成

最大パフォーマンス・モードは、最大保護モードよりも速く、かつ容易ですが、フォルト・トレランスが低下します。ソース・アプリケーションによってコミットが発行されると、CDCによってレプリケーション・サーバーへのデータ送信が開始され、そこでそのデータがバッファに格納され、Extractによってソートされます。データ転送が終了すると、CDCによってExtractがコミットに送信され、コミットのトランザクションがアプリケーションおよびデータベースに解放されます。

最大パフォーマンスの構成では、受信データがディスクに保存されず、CDCとExtract間にデータ損失を防止する確認システムもありません。プライマリExtractとTeradataのソース間の通信が中断した場合、あるいはコンポーネントが失敗した場合には、ソース・データとターゲット・データの同期が維持されません。

4.2.1 推奨される最大パフォーマンスの構成

別々のレプリケーション・サーバーにExtractプロセスとReplicatプロセスをインストールし、Extractサーバー上でデータ・ポンプとローカル証跡を併用します。この構成では、プライマリExtractによってトランザクションがローカルのOracle GoldenGate証跡まで保持されます。データ・ポンプのExtractによってこの証跡が読み取られ、そのデータがTCP/IP経由でReplicatサーバー上の証跡に送信され、そのデータがReplicatによって再度読み取られてターゲットに適用されます。ExtractサーバーとReplicatレプリケーション・サーバー間の通信が失敗した場合に影響を受けるのは、データ・ポンプだけです。プライマリExtractでは、受信データをメモリーに保持するのではなく、そのデータをディスクに書き込み続けます。そうしないと、長期間の機能停止でメモリーを使い果す可能性があります。

図4-2 推奨される最大パフォーマンスの構成

4.2.2 最大パフォーマンス・モードでのExtractの構成

ソースのレプリケーション・サーバー上で次の手順を実行します。

1. Oracle GoldenGateの管理for Windows and UNIXの手順に従ってManagerプロセスを構成します。

2. Managerパラメータ・ファイルでは、PURGEOLDEXTRACTSパラメータを使用してローカル証跡からのファイルの削除を制御します。

3. GGSCIを実行します。

4. プライマリExtractグループを作成します。説明上、このグループをextと呼びます。

ADD EXTRACT ext, VAM

5. ローカル証跡を追加します。

ADD EXTTRAIL local_trail, EXTRACT ext

EXTRACT引数を使用して、この証跡をプライマリExtractグループにリンクします。

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

注意:

データベース・パスワード、証跡内のデータおよびTCP/IP経由で送信されるデータの暗号化には、暗号化オプションがあります。セキュリティ機能の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

例4-5 プライマリExtractグループのパラメータ

EXTRACT ext
-- Identify the Extract group:
-- Specify database login information as needed for the database:
[SOURCEDB dsn1,][USERID user[, PASSWORD pw]]
-- Specify the local trail that this Extract writes to:
EXTTRAIL local_trail
-- Specify that this Extract is in maximum performance mode:
DSOPTIONS COMMITTEDTRANLOG RESTARTAPPEND, VAMCOMPATIBILITY 1
-- Specify library, TAM initialization file, and callback program for the TAM:
VAM library, PARAMS (inifile, ini_file, callbackLib, extract.exe)
-- Specify tables to be captured:
TABLE owner.table;

7. データ・ポンプ・グループを作成して、ローカル証跡を読み取り、そのデータを次のいずれかにあるリモート証跡に送信します。

- ターゲットのTeradataデータベースに対してReplicatを実行しているレプリケーション・サーバー。

- Oracle GoldenGateでサポートされている別のデータベース・プラットフォームに対してReplicatを実行しているターゲット・サーバー。

ADD EXTRACT pump, EXTTRAILSOURCE local_trail

説明上、このグループをpumpと呼びます。

8. リモート証跡を追加します。

ADD RMTTRAIL remote_trail, EXTRACT pump

EXTRACT引数を使用して、リモート証跡をデータ・ポンプ・グループにリンクします。

9. データ・ポンプにパラメータ・ファイルを作成します。データベース環境に適用される他のパラメータに加え、例4-6に示されているパラメータを含めてください。

例4-6 Extractデータ・ポンプのパラメータ

-- Identify the data pump group:
EXTRACT pump
-- Specify database login information as needed for the database:
[SOURCEDB dsn1,][USERID user[, PASSWORD pw]]
-- Specify the name or IP address of the remote system:
RMTHOST target, MGRPORT portnumber
-- Specify the remote trail:
RMTTRAIL remote_trail
-- Allow mapping, filtering, conversion or pass data through as-is:
[PASSTHRU | NOPASSTHRU]
-- Specify tables to be captured:
TABLE owner.table

注意:

PASSTHRUモードを使用するには、ソース・オブジェクトおよびターゲット・オブジェクトの名前を同じにする必要があります。パラメータ・ファイルでは、列マッピング、フィルタリング、SQLEXEC機能、変換、またはデータ操作が必要なその他の機能を指定することはできません。PASSTHRUおよびNOPASSTHRUと別のTABLE文を組み合せることで、通常の処理とパススルー処理を組み合せることができます。

4.2.3 最大パフォーマンス・モードをサポートするためのReplicatの構成

最大保護モードに関して、Replicatには特別な構成は必要ありません。この項では、大多数のターゲット・データベース・タイプで必要とされる基本的なReplicatパラメータについて説明します。追加のパラメータが必要になる場合があります。ご使用のターゲット・データベース向けOracle GoldenGateのドキュメント、およびOracle GoldenGateリファレンスfor Windows and UNIXも参照してください。

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

1. Oracle GoldenGateの管理for Windows and UNIXの手順に従ってManagerプロセスを構成します。

2. Managerパラメータ・ファイルでは、PURGEOLDEXTRACTSパラメータを使用してローカル証跡からのファイルの削除を制御します。

3. Replicatチェックポイント表を作成します。この目的に複数のオプションがあります。手順は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

4. Replicatグループを作成します。説明上、このグループをrepと呼びます。

ADD REPLICAT rep, EXTTRAIL remote_trail

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

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

例4-7 Replicatグループのパラメータ

-- Identify the Replicat group:
REPLICAT rep
-- State whether or not source and target definitions are identical:
SOURCEDEFS full_pathname | ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
[TARGETDB dsn2,] [USERID user id[, PASSWORD pw]]
-- Specify error handling rules:
REPERROR (error, response)
-- Specify tables for delivery:
MAP owner.table, TARGET owner.table[, DEF template name];
;

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

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

4.3.1 DDLサポートの構成

Oracle GoldenGateでは、Teradata DDLのレプリケーションをサポートしています。詳細は、「TeradataデータベースへのDDL同期の構成」を参照してください。

4.3.2 大量の更新操作および削除操作の処理

大量の行数を更新または削除する操作によって、サブスクライバ・データベースの行ごとに個別の更新および削除が生成されます。これによって、Teradataのサブスクライバ・システムでロック・マネージャのオーバーフローが発生し、その結果、Replicatプロセスが終了する可能性があります。

それらのエラーを回避するには、次のいずれかの手順を実行します。

- それらの操作のレプリケーションを一時停止してから、ソース・システムおよびターゲット・システムでそれらの操作を手動で実行します。レプリケーションを一時停止するには、そのセッションにのみレプリケーションを一時停止する次のコマンドを使用します。その表の他のセッションの操作は正常にレプリケートされます。

set session override replication on;

commit;

- ReplicatパラメータMAXTRANSOPSを1000未満の値に設定します。このパラメータによって、大きいトランザクションが小さいトランザクションに分割されます。

4.3.3 複数の接続の回避

既定では、ExtractプロセスとReplicatプロセスによって、カタログのクエリに新しい接続が作成されます。DBOPTIONSパラメータとNOCATALOGCONNECTオプションを併用することで、この余分な接続を回避できます。

4.3.4 初期同期の実行

Oracle GoldenGateを使用してトランザクションの変更を初めて送信する前に、ソース・データおよびターゲット・データの初期同期を実行します。2つのTeradataデータベースの同期に望ましい方法は、Teradataデータ・ローダー・ユーティリティのいずれかを使用することです。推奨されるユーティリティはMultiLoadです。初期ロードを構成するには、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

5 TeradataデータベースへのDDL同期の構成

この章では、Oracle GoldenGateにおけるDDLサポートの理解とその構成方法について説明します。この章は、次の各項で構成されます。

- 5.1項「この章について」

- 5.2項「DDL同期の概要」

- 5.3項「Oracle GoldenGateにおけるDDLサポートの制限事項」

- 5.4項「DDLサポートの構成ガイドライン」

- 5.5項「DDLスコープについて」

- 5.6項「DDLサポートの有効化」

- 5.7項「DDLレプリケーションのフィルタリング」

- 5.8項「Oracle GoldenGateにおける導出オブジェクト名の処理方法」

- 5.9項「DDL文字列置換の使用」

- 5.10項「処理でDDLが評価される仕組み」

- 5.11項「DDL処理エラーの処理」

- 5.12項「DDLレポート情報の表示」

- 5.13項「DDL処理のトレース」

5.1 この章について

この章には、Teradata環境内のOracle GoldenGateソリューションのセットアップ固有の情報が記載されています。このドキュメントは、TeradataデータベースおよびTeradata Replication Solutionsの基本的な知識を持つ読者を対象にしています。さらに、次の内容を正しく構成していることを前提とします。

- Relay Services Gateway (RSG)

- Change Data Capture (CDC)

- Teradata Access Module (TAM)

- レプリケーション・グループ

Teradataデータベースにレプリケーションを構成する方法の詳細は、『Teradata Replication Solutions』のドキュメントを参照してください。

5.2 DDL同期の概要

Oracle GoldenGateでは、あるデータベースから別のデータベースへのDDL操作の同期がサポートされています。DDL同期は、次のような場合にアクティブになります。

- ビジネス・アプリケーションが、ソースとターゲットのオブジェクトにアクティブにアクセスし、更新している場合。

- Oracle GoldenGateのトランザクション・データの同期がアクティブな場合。

DDLのレプリケーションおよびトランザクション・データ変更(DML)のレプリケーションをサポートするコンポーネント同士は、相互に独立しています。そのため、次のような同期が可能です。

- DDLの変更のみ

- DMLの変更のみ

- DDLとDMLの両方

5.3 Oracle GoldenGateにおけるDDLサポートの制限事項

このトピックでは、DDL機能の制限事項について説明します。このドキュメントの発行後に明らかになったその他の制限事項については、ソフトウェアに同梱されているOracle GoldenGateのリリース・ノートまたはreadmeファイルを参照してください。

5.3.1 DDL文の長さ

Oracle GoldenGateでは、文字数ではなく、バイト数でDDL文の長さが計測されます。サポートされる長さは約2MBで、いくつかある特性の中でも、影響を受けるオブジェクトの名前やそのDDLタイプによってサイズに幅がある内部オーバーヘッドが考慮されています。DDLがサポートされているサイズより長い場合は、Extractにより警告が発行され、DDL操作が無視されます。

5.3.2 サポートされているトポロジ

Oracle GoldenGateでは、同じ構成においてのみDDL同期がサポートされます。ソースとターゲットのオブジェクト定義は同一であることが必要です。

Oracle GoldenGateは、スタンバイ・データベースではDDLをサポートしていません。

Oracle GoldenGateでは、サポートされているすべての一方向構成、および双方向構成(2つのシステム間のみ)でDDLレプリケーションがサポートされています。

5.3.3 フィルタリング、マッピングおよび変換

DDL操作をOracle GoldenGateプロセスで変換することはできません。ただし、プライマリExtractプロセスまたはReplicatプロセスで、ソースDDLを別のターゲット・オブジェクトにマップしてフィルタすることは可能です。データ・ポンプExtractまたはVAMソートによるExtractでDDLをマッピングすることやフィルタリングすることはできないため、DDLはプライマリExtractから受信したものとして渡されます。これはPASSTHRUモードと呼ばれます。

たとえば、ALTER TABLE TableAがデータ・ポンプExtractまたはVAMソートによるExtractで、ALTER TABLE TableAとして処理されるとします。別の内容を指定するALTER TABLE TableB文に関係なく、これをそのプロセスでTABLEとしてマップすることはできません。

5.3.4 DDLレスポンス時間

TeradataデータベースおよびOracle GoldenGateコンポーネントを含むレプリケーション・システム間の同期プロトコルに内在するレイテンシが原因で、レプリケーション用に取得されるDDL文のレスポンス時間が長くなる場合があります。レスポンス時間のオーバーヘッドは、ほとんどの条件下で1秒を超えないようにする必要があります。取得されないDDLのレスポンス時間には、大きな影響はありません。UDTまたはLOBを含む表の変更データを取得するパフォーマンス上のコストは、それらのデータ型を含まない表と比較して、データをエクスポートするその他の方法と比較できる必要があります。

5.4 DDLサポートの構成ガイドライン

次に、Oracle GoldenGateプロセスがDDLレプリケーションをサポートするよう構成する際に考慮するガイドラインを示します。

5.4.1 データベース権限

DDLの取得とレプリケーションをサポートするためにOracle GoldenGateに必要なデータベース権限については、「Oracle GoldenGateプロセス用のデータベース・ユーザー」を参照してください。

5.4.2 並列処理

Extract/Replicatの並列処理を使用している場合は、関連するDDLとDMLを同じプロセス・ストリームに保持し、データの整合性を確保します。プロセスを次のように構成します。

- あるオブジェクトに対するすべてのDDLおよびDMLが、同じExtractグループおよび同じReplicatグループで処理されるようにします。

- 相互に関連するすべてのオブジェクトが、同じプロセス・グループで処理されるようにします。

たとえば、ReplicatAがTable1のDMLを処理する場合は、Table1のDDLも処理する必要があります。Table2にTable1に対する外部キーがある場合は、そのDMLとDDLの操作もReplicatAによって処理される必要があります。

あるExtractグループが、様々なReplicatグループによって読み取られる複数の証跡に書込みを行う場合、Extractはすべての証跡にすべてのDDLを送信します。Replicatパラメータ・ファイルにあるDDLパラメータのフィルタ・オプションを使用してDDLをフィルタするには、各Replicatグループを使用します。

5.4.3 データ・ポンプExtractおよびVAMソートによるExtractのDDLとDML

データ・ポンプExtractまたはVAMソートによるExtractを使用している場合、オブジェクトでDDLサポートが使用されているときには、DMLをPASSTHRUモード用に構成します。DDLは、PASSTHRUモードのデータ・ポンプExtractまたはVAMソートによるExtractを介して渡され、DMLも同様にする必要があります。DMLのフィルタリング、マッピングまたは変換は、プライマリExtractまたはReplicatによって行われる必要があります。ただし、DDLサポートを使用しない表はNOPASSTHRUモードに構成でき、データのフィルタリングやデータ・ポンプによる操作を実行できます。

表をPASSTHRU、NOPASSTHRUまたはその両方に構成する手順

1. データ・ポンプExtractまたはVAMソートによるExtractのパラメータ・ファイルで、DDLサポートを使用する表を含むすべてのTABLE文の前に、PASSTHRUパラメータを配置します。

2. データのフィルタリング、マッピングまたは変換を実行する場合は、同じパラメータ・ファイルで、DDLサポートを使用しない表を含むTABLE文の前に、NOPASSTHRUパラメータを配置します。

3. データ・ポンプExtractまたはVAMソートによるExtractのDDL構成パラメータ(DDL、DDLOPTIONS、DDLSUBST、DDLERROR)、またはDDLオプションが指定されたOracle GoldenGateのトレース・パラメータは使用しないでください。

PASSTHRUおよびNOPASSTHRUの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

5.4.4 オブジェクト名

Oracle GoldenGateでは、データベース定義のオブジェクト名、ケースおよびキャラクタ・セットが保持されます。このサポートにより、データベース階層のすべてのレベルにおいて、シングルバイト名とマルチバイト名、記号およびアクセント文字が保持されます。オブジェクト名のサポートの詳細は、『Oracle GoldenGate Windows and UNIX管理者ガイド』を参照してください。

疑問符(?)やアスタリスク(*)のワイルドカードを使用して、DDL同期をサポートする構成パラメータにオブジェクト名を指定できます。ワイルドカードのサポートの詳細は、『Oracle GoldenGate Windows and UNIX管理者ガイド』を参照してください。ワイルドカードを正しく処理するため、WILDCARDRESOLVEパラメータはデフォルトでDYNAMICに設定されています。WILDCARDRESOLVEがそれ以外に設定されている場合、DDL操作を処理しているOracle GoldenGateプロセスが異常終了し、プロセス・レポートにエラーが書き込まれます。

5.4.5 データ定義

DDLサポートには同一の構成が必要であるため、Replicatパラメータ・ファイルにASSUMETARGETDEFSパラメータを使用する必要があります。オブジェクトがDDLサポート向けに構成されている場合に、SOURCEDEFSパラメータが使用されていると、Replicatが異常終了します。ASSUMETARGETDEFSの詳細は、『Oracle GoldenGate Windows and UNIXリファレンス・ガイド』を参照してください。

5.4.6 初期同期

DDLレプリケーションを構成するには、ソース・データベースと同期しているターゲット・データベースから開始します。DDLサポートはReplicatの初期ロード・メソッドと互換性があります。

また、DDLサポートには、Teradata FastLoadの初期同期メソッドとの互換性もあります。この機能の詳細は、Teradataのドキュメントを参照してください。

初期ロードの実行前に、DDLの抽出とレプリケーションを無効化します。DDL処理は、ExtractおよびReplicatパラメータ・ファイルのDDLパラメータで制御されます。

5.5 DDLスコープについて

データベース・オブジェクトはスコープに分類されます。スコープは、オブジェクトに対するDDL操作がOracle GoldenGateでどのように処理されるかを定義するカテゴリです。次のスコープがあります。

- MAPPED

- UNMAPPED

- OTHER

スコープを使用すると、DDL操作、文字列の置換およびエラー処理のフィルタリングをより詳細に制御できます。

5.5.1 MAPPEDスコープ

TABLEおよびMAP文に指定されるオブジェクトは、MAPPEDスコープです。これらの文の抽出およびレプリケーションの手順は、オーバーライド・ルールが適用される場合を除き、指定されたオブジェクトのデータ(DML)とDDLの両方に適用されます。TABLE文およびMAP文のオブジェクトでは、表 5–1にリストされているDDL操作がサポートされます。

表5-1 MAP文およびTABLE文にマップ可能なオブジェクト

操作

オブジェクト

CREATE

ALTER

DROP

RENAME

COMMENT ON

TABLE (includes AS SELECT)

INDEX

TRIGGER

VIEW

FUNCTION

PROCEDURE

MACRO

GRANT

REVOKE

TABLE

次に、MAPPEDスコープに適用される制限事項を示します。

- TABLEおよびMAPでは、オブジェクト名に使用されている可能性がある一部の特殊文字がサポートされていません。それらの文字のリストは、Oracle GoldenGateの管理for Windows and UNIXを参照してください。サポートされていない特殊文字を含むオブジェクトは、UNMAPPEDおよびOTHERのスコープでサポートされます。

- COMMENT ONのサポートは、COMMENT ON TABLEおよびCOMMENT ON COLUMNに適用されます。

- HASH操作およびJOIN操作では、索引に対するDDLはサポートされていません。

Extractでは、TABLE文の指示に従って、MAPPEDスコープによりDDL取得用のオブジェクトがマークされます。Replicatの場合は、MAPPEDスコープにより、レプリケーション用のDDLがマークされ、MAP文のTARGET句の所有者と名前で指定されたオブジェクトにマップされます。

次のTABLE文、MAP文、およびソースDDL文があるとします。

Extract (ソース)

Replicat (ターゲット)

ソースDDL

TABLE fin.expen;

TABLE hr.tab*;

MAP fin.expen, TARGET fin2.expen2;

MAP hr.tab*, TARGET hrBackup.bak_*;

ALTER TABLE fin.expen ADD notes varchar2(100);

この例では、ソース表fin.expenが、異なる所有者と表名にマップするTARGET句が指定されたMAP文に存在するため、ターゲットDDL文は次のようになります。

ALTER TABLE fin2.expen2 ADD notes varchar2(100);

同様に、次のソースおよびターゲットDDL文は、例のTABLE文およびMAP文の2つ目のセットに使用できます。

ソース: CREATE TABLE hr.tabPayables ... ;

ターゲット: CREATE TABLE hrBackup.bak_tabPayables ...;

オブジェクトがMAPPEDスコープの場合は、DDLサポートをさらに絞り込む場合を除き、DDL構成パラメータでそのオブジェクト名を省略できます。TABLE文およびMAP文でオブジェクト名を変更する必要がある場合、変更内容はそれらのオブジェクトのDDLに自動的に適用されます。

TABLE文にはオブジェクトを指定し、MAP文には指定しない場合、そのオブジェクトのDDLは、ソースではスコープがMAPPEDになり、ターゲットではUNMAPPEDになります。

5.5.1.1 ALTER INDEXのマッピング

ALTER INDEX...RENAMEコマンドを別のターゲット索引名にマップすることはできませんが、別のターゲット所有者にマップすることは可能です。次のALTER INDEX...RENAMEで考察します。

ALTER INDEX src.ind RENAME TO indnew;

このDDLは、ワイルドカードを使用して、次のようにマップできます。

MAP src.* TARGET tgt.*;

または次のように、ソースとターゲットの指定で元の索引名を使用することを確認し、明示的にマップすることも可能です。

MAP src.ind TARGET tgt.ind;

前述のケースのいずれの場合も、ターゲットDDLは次のようになります。

ALTER INDEX tgt.ind RENAME TO indnew;

次のようなMAP文は無効です。

MAP src.ind TARGET tgt.indnew;

この文は古い名前を新しい名前にマップしており、ターゲットDDLは次のようになります。

ALTER INDEX tgt.indnew RENAME TO indnew;

5.5.2 UNMAPPEDスコープ

TABLE文またはMAP文でDDL操作の使用がサポートされているが、ベース・オブジェクト名がそれらのパラメータに含まれていない場合は、UNMAPPEDスコープになります。

オブジェクト名を、ソースではUNMAPPEDスコープ(ExtractのTABLE文には含まれない)にし、ターゲットではMAPPEDスコープ(ReplicatのMAP文に含まれる)にすることも、その逆にすることも可能です。Replicat構成でTeradataのDDLがUNMAPPEDスコープの場合、次のいずれかの方法でターゲットに適用されます。

- 必要なReplicat接続パラメータTARGETDBにDSN (tdtargなど)のみが含まれ、データベース名が含まれない場合は、ソースDDLと同じ所有者(データベース名)とオブジェクト名のターゲット・オブジェクトに適用されます。

- TARGETDBに特定のデータベース名(db@tdtargなど)が使用されている場合は、TARGETDBの所有者が指定されたターゲットにすべてのDDL操作が適用されます。

5.5.3 OTHERスコープ

マップできないDDL操作は、OTHERスコープになります。Replicat構成でDDLがOTHERスコープの場合、ソースのDDLと所有者およびオブジェクト名が同一のターゲットに適用されます。OTHERスコープの例は、データ・ファイル名に対して操作を実行するDDLなど、システム固有の参照を行うDDL操作です。

5.6 DDLサポートの有効化

デフォルトでは、DDLレプリケーション・サポートのステータスは次のようになります。

- Teradata TAMによりOracle GoldenGate VAMにすべてのDDLが送信されますが、ソースでは、Oracle GoldenGateのDDLサポートはデフォルトで無効化されています。DDLを取得するには、DDLパラメータを使用してExtractを構成する必要があります。

- レプリケートされるトランザクション・データの一貫性を維持するため、ターゲットでは、DDLサポートはデフォルトで有効化されています。デフォルトで、証跡に含まれるすべてのDDL操作がReplicatにより処理されます。必要な場合は、DDLパラメータを使用し、Replicatを構成してDDL操作を無視するかフィルタすることが可能です。

5.7 DDLレプリケーションのフィルタリング

特定(またはすべて)のDDLが要件に応じてターゲット・データベースに適用されるようにするには、DDLパラメータを使用してDDL操作をフィルタします。

オプションを指定せずに使用すると、DDLパラメータによるフィルタリングが実行されず、すべてのDDL操作が次のように伝播されます。

- Extractパラメータとして、サポートされているすべてのデータベース・オブジェクトで生成された、サポートされている全DDL操作が取得されて証跡に送信されます。

- Replicatパラメータとして、Oracle GoldenGateの証跡からすべてのDDL操作がレプリケートされ、ターゲットに適用されます。これは、このパラメータを使用しない場合のデフォルトの動作と同じです。

オプションを指定して使用すると、DDLパラメータがフィルタリング・エージェントとして機能し、次に基づいてDDL操作が含まれるか除外されます。

- スコープ

- オブジェクト・タイプ

- 操作タイプ

- オブジェクト名

- DDLコマンド構文またはコメント、あるいはその両方の文字列

パラメータ・ファイルに使用できるDDLパラメータは1つのみですが、包含オプションおよび除外オプションを複数組み合せて、DDLを必要なレベルにフィルタできます。

- DDLフィルタリング・オプションは、トランザクション・ソースから取得するプライマリExtractには有効ですが、データ・ポンプExtractには無効です。

- 複数のフィルタ・オプションの指定を組み合せた場合、AND文として論理的にリンクされます。

- レプリケートされるDDL文では、複数のオプションが指定されたすべてのフィルタ基準を満たしている必要があります。

- 複雑なフィルタ基準を使用する場合は、本番で使用する前に、テスト環境で構成をテストすることをお薦めします。

注意:

DDLパラメータ文を作成する前に、5.10項「処理でDDLが評価される仕組み」を確認することをお薦めします。

次に、DDLパラメータの構文を示します。

DDL [
{INCLUDE | EXCLUDE}
[, MAPPED | UNMAPPED | OTHER | ALL]
[, OPTYPE type]
[, OBJTYPE 'type']
[, OBJNAME name]
[, INSTR 'string']
[, INSTRWORDS 'word_list']
[, EVENTACTIONS (action)
]
[...]

表5-2 DDLの包含オプションおよび除外オプション

オプション

説明

INCLUDE | EXCLUDE

包含句または除外句の開始を識別するには、INCLUDEおよびEXCLUDEを使用します。

- 包含句には、このパラメータの影響を受けるDDLを識別するフィルタ基準が含まれます。

- 除外句には、このパラメータから特定のDDLを除外するフィルタ基準が含まれます。

包含句または除外句では、INCLUDEまたはEXCLUDEキーワードの後に、適用するパラメータのその他のオプションの有効な組合せが続いている必要があります。

EXCLUDEを使用する場合は、対応するINCLUDE句を作成する必要があります。たとえば、次は無効です。

DDL EXCLUDE OBJNAME hr.*

ただし、次のいずれかを使用できます。

DDL INCLUDE ALL, EXCLUDE OBJNAME hr.*

DDL INCLUDE OBJNAME fin.* EXCLUDE fin.ss

同じ条件を含むINCLUDEsより、EXCLUDEが優先されます。包含句および除外句は複数使用できます。

MAPPED | UNMAPPED | OTHER | ALL

DDLの操作スコープに基づいてINCLUDEまたはEXCLUDEを適用するには、MAPPED、UNMAPPED、OTHERおよびALLを使用します。

- MAPPEDでは、MAPPEDスコープのDDL操作にINCLUDEまたはEXCLUDEが適用されます。MAPPEDフィルタリングは、その他のDDLパラメータ・オプションで指定されているフィルタリングの前に実行されます。

- UNMAPPEDでは、UNMAPPEDスコープのDDL操作にINCLUDEまたはEXCLUDEが適用されます。

- OTHERでは、OTHERスコープのDDL操作にINCLUDEまたはEXCLUDEが適用されます。

- ALLでは、すべてのスコープのDDL操作にINCLUDEまたはEXCLUDEが適用されます。

OPTYPE type

CREATE、ALTERおよびRENAMEなど、特定タイプのDDL操作にINCLUDEまたはEXCLUDEを適用するには、OPTYPEを使用します。typeには、データベースに対して有効な任意のDDLコマンドを使用します。たとえば、ALTER操作を含める場合の正しい構文は、次のとおりです。

DDL INCLUDE OPTYPE ALTER

OBJTYPE 'type'

特定タイプのデータベース・オブジェクトにINCLUDEまたはEXCLUDEを適用するには、OBJTYPEを使用します。typeには、データベースに対して有効な任意のオブジェクト・タイプ(TABLE、INDEX、TRIGGERなど)を使用します。オブジェクト・タイプの名前は、一重引用符で囲みます。次に例を示します。

DDL INCLUDE OBJTYPE &rsquor;INDEX'

OBJNAME name

owner.table_nameなど、オブジェクトの完全修飾名にINCLUDEまたはEXCLUDEを適用するには、OBJNAMEを使用します。オブジェクト名にのみ、ワイルドカードを使用できます。

例:

DDL INCLUDE OBJNAME accounts.*

Replicatパラメータ・ファイルにMAPPEDを指定したOBJNAMEを使用する場合、OBJNAMEの値は、MAP文のTARGET句で指定された名前を参照する必要があります。たとえば、次のMAP文の場合、正しい値はOBJNAME fin2.*です。

MAP fin.exp_*, TARGET fin2.*;

次の例のCREATE TABLE文は、ソースで次のように実行されます。

CREATE TABLE fin.exp_phone;

ターゲットでは次のようになります。

CREATE TABLE fin2.exp_phone;

MAP文にターゲット所有者が指定されていない場合は、Replicatにより、USERIDパラメータで指定されているデータベース・ユーザーにマップされます。

トリガーなど、導出されたオブジェクトを作成するDDLの場合、OBJNAMEの値は、導出されたオブジェクトの名前ではなく、ベース・オブジェクトの名前にする必要があります。

たとえば、次のDDL文を含める場合、正しい値はhr.insert_trigではなく、hr.accountsです。

CREATE TRIGGER hr.insert_trig ON hr.accounts;

RENAME操作の場合、OBJNAMEの値は新しい表名にする必要があります。たとえば、次のDDL文を含める場合、正しい値はhr.acctです。

ALTER TABLE hr.accounts RENAME TO acct;

INSTR 'string'

コマンド構文内に特定の文字列が使用されているDDL文にINCLUDEまたはEXCLUDEを適用するには、INSTRを使用します。たとえば、次では索引を作成するDDLが除外されます。

DDL INCLUDE ALL EXCLUDE INSTR 'CREATE INDEX'

文字列を一重引用符で囲みます。文字列の検索では、大/小文字は区別されません。

INSTRでは、文字列の中に一重引用符(' ')を使用することも、NULL値を使用することもできません。

INSTRWORDS 'word_list'

指定した語を含むDDL文にINCLUDEまたはEXCLUDEを適用するには、INSTRWORDSを使用します。

word_listに、任意の順序で語を指定し、一重引用符で囲みます。空白を含めるには、その空白(および該当する場合は空白と語)を二重引用符で囲みます。二重引用符は、文を囲む場合にも使用できます。

指定するすべての語が、有効化されるINSTRWORDSのDDLに存在する必要があります。

例:

ALTER TABLE INCLUDE INSTRWORDS 'ALTER CONSTRAINT " xyz"

この例は次に一致します。

ALTER TABLE ADD CONSTRAINT xyz CHECK

および

ALTER TABLE DROP CONSTRAINT xyz

INSTRWORDSでは、文字列の中に一重引用符(' ')を使用することも、NULL値を使用することもできません。

EVENTACTIONS (action)

イベント・レコードと呼ばれるトランザクション・ログまたは証跡のDDLレコードに基づき、ExtractまたはReplicatプロセスが定義されたアクションを実行します。DDLイベントは、DDLパラメータのその他のフィルタリング・オプションによって決められたとおりに、DDLレコードをExtractまたはデータ・ポンプで証跡に書き込める場合、またはReplicatで実行可能な場合にトリガーされます。このシステムを使用し、データベース・イベントに基づいて処理をカスタマイズできます。

actionについては、MAPおよびTABLEパラメータの下のEVENTACTIONSを参照してください。

DDLレコードでEVENTACTIONSを使用するためのガイドラインは、次のとおりです。

- CHECKPOINTBEFORE: 各DDLレコードは自律型であるため、DDLレコードは必ずトランザクションの開始になります。そのため、CHECKPOINT BEFOREイベント・アクションは、DDLレコードに対して暗黙的です。

- IGNORE: このオプションは、DDLレコードに対して無効です。DDL操作は自律型であるため、レコードを無視することは、トランザクション全体を無視することと同じです。

EVENTACTIONSは導出されたオブジェクトであるため、次のDDLオブジェクトがサポートされていません。

- 索引

- トリガー

- シノニム

- 表のRENAMEおよびALTER TABLE RENAME

5.7.1 DDLパラメータ・オプションの組合せ

次に、DDLパラメータ・オプションの組合せ方の例を示します。

表5-1 DDLパラメータ・オプションの組合せ

DDL  &
INCLUDE UNMAPPED &
OPTYPE alter &
OBJTYPE 'table' &
OBJNAME users.tab* &
INCLUDE MAPPED OBJNAME * &
EXCLUDE MAPPED OBJNAME temporary.tab

この文で組み合せたフィルタ基準は、次を指定します。

- TABLEまたはMAP文でマップされていない表(UNMAPPEDスコープ)のすべてのALTER TABLE文がINCLUDEされますが、それはそれらの表の所有者がusersである場合およびその名前がtabで開始される場合のみです

- また、TABLEまたはMAP文でマップされているすべての表(MAPPEDスコープ)のすべてのDDL操作タイプがINCLUDEされます

- さらに、スコープがMAPPEDのすべての表のすべてのDDL操作タイプがEXCLUDEされますが、それはそれらの表の所有者がtemporaryである場合およびその名前がtab.で開始される場合のみです。

5.7.2 DDL EXCLUDE ALL

DDL EXCLUDE ALLは特別な処理オプションで、DDL操作自体のレプリケーションをブロックしながら、Oracle GoldenGateの最新のオブジェクト・メタデータを管理します。DDL EXCLUDE ALLは、Oracle GoldenGate以外の方法でターゲットにDDLを適用しているが、Oracle GoldenGateでターゲット・オブジェクトにデータ変更をレプリケートする必要がある場合に使用できます。現在のメタデータがオブジェクト変更としてOracle GoldenGateに提供されるため、Oracle GoldenGateプロセスの停止と開始が不要になります。DDL EXCLUDE ALLには、次の特別な条件が適用されます。

- DDL EXCLUDE ALLでは、INCLUDE句を使用する必要がありません。

- DDL EXCLUDE ALLを使用する際には、すぐにDMLを解決できるように、WILDCARDRESOLVEパラメータをIMMEDIATEに設定することが必要な場合があります。

すべてのDDLメタデータおよび操作がレプリケートされないようにするには、DDLパラメータ全体を省略します。

5.8 Oracle GoldenGateにおける導出オブジェクト名の処理方法

DDL操作には、ベース・オブジェクト名と導出オブジェクト名を含めることができます。ベース・オブジェクトは、データを含むオブジェクトです。導出オブジェクトは、ベース・オブジェクトの一部の属性を継承し、そのオブジェクトに関連する関数を実行するオブジェクトです。ベース・オブジェクトと導出オブジェクトの両方を含むDDL文は、次のとおりです。

- RENAME

- 索引またはトリガーのCREATEおよびDROP

次のDDL文があるとします。

CREATE INDEX hr.indexPayrollDate ON TABLE hr.tabPayroll (payDate);

この場合は、表がベース・オブジェクトです。その名前(hr.tabPayroll)がベース名で、MAPPEDスコープのTABLEまたはMAPとのマッピング対象です。導出オブジェクトは索引で、その名前(hr.indexPayrollDate)が導出名です。

5.8.1 導出オブジェクトのマッピング

導出名は、ベース・オブジェクトとは別に、それ自体のTABLEまたはMAP文でマップできます。または、1つのMAP文で両方を処理できます。MAPの場合、ターゲットへの導出オブジェクト名の変換は、後続の項で示すようにして行われます。

5.8.1.1項「MAPがベース・オブジェクトに存在して導出オブジェクトに存在しない場合」

5.8.1.2項「MAPがベース・オブジェクトと導出オブジェクトに存在する場合」

5.8.1.3項「MAPが導出オブジェクトに存在してベース・オブジェクトに存在しない場合」

5.8.1.1 MAPがベース・オブジェクトに存在して導出オブジェクトに存在しない場合

MAP文がベース・オブジェクトに存在して、導出オブジェクトに存在しない場合、結果は導出オブジェクトの暗黙的マッピングになります。DDLパラメータにMAPPEDが指定されているとみなされ、Replicatにより、ベース・オブジェクトと同じターゲット所有者が導出オブジェクトに指定されます。導出オブジェクトの名前は、ソース文のままです。たとえば、次のような内容があるとします。

Extract (ソース)

Replicat (ターゲット)

TABLE hr.tab*;

MAP hr.tab*, TARGET hrBackup.*;

次のソースDDL文があるとします。

CREATE INDEX hr.indexPayrollDate ON TABLE hr.tabPayroll (payDate);

CREATE INDEX文は、Replicatにより、ターゲットで次のように実行されます。

CREATE INDEX hrBackup.indexPayrollDate ON TABLE hrBackup.tabPayroll (payDate);

暗黙的マッピングのルールは、導出オブジェクトにベース・オブジェクトと同じ所有者を指定するという一般的な業界のプラクティスに基づいています。また、ベース・オブジェクトと同じターゲット所有者が索引を所有している場合、暗黙的マッピングでは、導出オブジェクト名を明示的にマップする必要がありません。

5.8.1.2 MAPがベース・オブジェクトと導出オブジェクトに存在する場合

MAP文がベース・オブジェクトと導出オブジェクトにも1つ存在する場合、結果は明示的マッピングになります。DDLパラメータにMAPPEDが指定されているとみなされ、それ自体のTARGET句に従って、所有者と各オブジェクトの名前がReplicatにより変換されます。たとえば、次のような内容があるとします。

Extract (ソース)

Replicat (ターゲット)

TABLE hr.tab*;

TABLE hr.index*;

MAP hr.tab*, TARGET hrBackup.*;

MAP hr.index*, TARGET hrIndex.*;

次のソースDDL文があるとします。

CREATE INDEX hr.indexPayrollDate ON TABLE hr.tabPayroll (payDate);

CREATE INDEX文は、Replicatにより、ターゲットで次のように実行されます。

CREATE INDEX hrIndex.indexPayrollDate ON TABLE hrBackup.tabPayroll (payDate);

ベース・オブジェクトとは異なる所有者がターゲットの索引を所有している必要がある場合、またはターゲットの名前がソースの名前と異なる必要がある場合は、明示的マッピングを使用します。

5.8.1.3 MAPが導出オブジェクトに存在してベース・オブジェクトに存在しない場合

MAP文が導出オブジェクトに存在して、ベース・オブジェクトに存在しない場合、Replicatでは、どちらのオブジェクトに対しても名前の変換が行われません。ターゲットDDL文はソースと同じになります。導出オブジェクトをマップするには、次のいずれかを選択します。

- ベース・オブジェクトに明示的MAP文を使用します。

- 名前の問題がない場合は、ワイルドカードを使用して、ベース・オブジェクトと導出オブジェクトの両方を同じMAP文にマップします。

- 名前をどのように変換するかに応じて、各オブジェクトのMAP文を作成します。

5.8.2 導出オブジェクトとしての新しい表

次の各項では、次から作成される新しい表がOracle GoldenGateでどのように処理されるかを説明します。

- 5.8.2.1項「RENAME」

- 5.8.2.2項「CREATE TABLE AS SELECT」

5.8.2.1 RENAME

RENAME操作では、ベース・オブジェクトは常に新しい表名です。次の例において、ベース・オブジェクト名はindex_paydateです。

RENAME hr.indexPayrollDate TO index_paydate;

導出オブジェクト名はhr.indexPayrollDateです。

5.8.2.2 CREATE TABLE AS SELECT

CREATE TABLE AS SELECT文には、基礎となる任意の数のオブジェクトに影響を与えるSELECT文とINSERT文が含まれます。ターゲットでは、Oracle GoldenGateにより、ターゲット・データベースからAS SELECT句のデータが取得されます。

ターゲット・データベースにはAS SELECT句のオブジェクトが存在し、その名前がソースのものと同一であることが必要です。

MAP文では、Oracle GoldenGateにより、新しい表の名前(CREATE TABLE name)のみがTARGETの指定にマップされますが、AS SELECT句の基礎となるオブジェクトの名前はマップされません。名前がTARGETの指定に変換されると、データ不整合の原因となるオブジェクトに対する依存性が存在する可能性があります。

次に、ソースのCREATE TABLE AS SELECT文と、この文がOracle GoldenGateによってターゲットにどのようにレプリケートされるかの例を示します。

CREATE TABLE a.tab1 AS SELECT * FROM a.tab2;

ReplicatのMAP文は次のようになります。

MAP a.tab*, TARGET a.x*;

Replicatが適用するターゲットDDL文は次のようになります。

CREATE TABLE a.xtab1 AS SELECT * FROM a.tab2;

AS SELECT * FROM句の表の名前は、ソースでの名前(tab2)のままになります。

ソースとターゲットで、基礎となるオブジェクトのデータの一貫性を保つには、Oracle GoldenGateによるデータ・レプリケーションに備えて構成します。前述の例では、次の文を使用してこの要件に対応できます。

ソース

ターゲット

TABLE a.tab*;

MAPEXCLUDE a.tab2

MAP a.tab*, TARGET a.x*;

MAP a.tab2, TARGET a.tab2;

5.8.3 導出オブジェクトのマッピングの無効化

MAP文のTARGET句に従った、導出オブジェクト名の変換が行われないようにするには、その文に含まれるDDLOPTIONSパラメータにNOMAPDERIVEDオプションを指定して使用します。NOMAPDERIVEDは、ベース・オブジェクトまたは導出オブジェクトの名前を含む明示的なMAP文をオーバーライドします。導出オブジェクトが含まれるソースDDLは、所有者とオブジェクト名がソースと同一のターゲットにレプリケートされます。

表5-3に、MAP文がベース・オブジェクトのみ、導出オブジェクトのみ、またはその両方に存在するかどうかに基づいて、NOMAPDERIVEDと比較したMAPDERIVEDの結果を示します。

表5-3 マッピング構成に基づいた、ターゲットにおける[NO]MAPDERIVEDの結果

ベース・オブジェクト

導出オブジェクト

MAP/NOMAPDERIVED

MAPごとの導出オブジェクトの変換

導出オブジェクトにおけるベース・オブジェクトの所有者の取得

mapped脚注 1

mapped

MAPDERIVED

yes

no

mapped

not mapped

MAPDERIVED

no

yes

not mapped

mapped

MAPDERIVED

no

no

not mapped

not mapped

MAPDERIVED

no

no

mapped

mapped

NOMAPDERIVED

no

no

mapped

not mapped

NOMAPDERIVED

no

no

not mapped

mapped

NOMAPDERIVED

no

no

not mapped

not mapped

NOMAPDERIVED

no

no

脚注 1 「マップされている」とは、MAP文に含まれていることを示しています。

次の例では、NOMAPDERIVEDと比較したMAPDERIVEDの結果を示します。

表5-4に示されている1つ目の例では、ベース名と導出名の両方がMAPDERIVEDで変換されるため、トリガーと表のどちらもターゲットのrptに所有されていることを示しています。

表5-4 導出オブジェクト名のデフォルトのマッピング(MAPDERIVED)

MAP文

Extractに取得されたソースDDL文

Replicatにより適用されたターゲットDDL文

MAP fin.*, TARGET rpt.*;

CREATE TRIGGER fin.act_trig ON fin.acct;

CREATE TRIGGER rpt.act_trig ON rpt.acct;

表5-5に示されている2つ目の例では、NOMAPDERIVEDで変換ができないようになっているため、トリガーはfinに所有されています。

表5-5 NOMAPDERIVEDを使用している場合の導出オブジェクト名のマッピング

MAP文

Extractに取得されたソースDDL文

Replicatにより適用されたターゲットDDL文

MAP fin.*, TARGET rpt.*;

CREATE TRIGGER fin.act_trig ON fin.acct;

CREATE TRIGGER fin.act_trig ON rpt.acct;

注意:

RENAME文の場合、新しい表名はベース表の名前とみなされ、古い表名は導出表の名前とみなされます。

5.9 DDL文字列置換の使用

Oracle GoldenGateでの処理中に、DDL操作内で文字列を置換できます。この機能により、ディレクトリ名の変更やマッピング、およびデータ構造に直接関連しないその他のことも行いやすくなります。文字列置換は、DDLSUBSTパラメータで制御します。

詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

注意:

DDLSUBSTパラメータ文を作成する前に、次の項(「処理でDDLが評価される仕組み」)を確認することをお薦めします。

5.10 処理でDDLが評価される仕組み

ここでは、ソースおよびターゲットのシステムで、DDL文がOracle GoldenGateでどのように処理されるかを説明します。Oracle GoldenGateパラメータの異なる基準が処理される順序を示し、ExtractとReplicatがそれぞれDDLを処理する方法の違いを説明します。

5.10.1 ExtractがDDLを評価する仕組み

1. ExtractによりDDL操作が取得されます。

2. Extractにより、DDLパラメータが検索されます。(この例では、それが存在すると仮定します。)

3. Extractにより、ベース・オブジェクト名と導出オブジェクト名(存在する場合)が取得されます。

4. Extractにより、DDLスコープ(MAPPED、UNMAPPEDまたはOTHER)が判断されます。次の場合にMAPPEDになります。

- マッピングで操作タイプおよびオブジェクト・タイプがサポートされる場合。
および

- ベース・オブジェクト名/導出オブジェクト名(RENAMEの場合)が、TABLEパラメータに存在する場合。

次の場合にUNMAPPEDになります。

- マッピングで操作タイプおよびオブジェクト・タイプがサポートされない場合。
および

- ベース・オブジェクト名/導出オブジェクト名(RENAMEの場合)が、TABLEパラメータに存在しない場合。

それ以外の場合、操作はOTHERと識別されます。

6. Extractにより、INCLUDEおよびEXCLUDE句のDDLパラメータが確認され、それらの句のDDLパラメータ基準が評価されます。INCLUDEまたはEXCLUDEがTRUEに評価されるには、すべてのオプションがTRUEに評価される必要があります。次のようになります。

- EXCLUDE句がTRUEに評価されると、ExtractによりDDL操作が破棄され、別のDDL操作が評価されます。この場合は、処理手順が新たに始まります。

- INCLUDE句がTRUEに評価されるか、DDLパラメータにINCLUDE句またはEXCLUDE句が存在しない場合は、ExtractにDDL操作が含まれ、処理ロジックが続行されます。

7. ExtractによりDDLSUBSTパラメータが検索され、INCLUDEおよびEXCLUDE句が評価されます。これらの句の基準がTRUEになると、Extractにより、文字列置換が実行されます。Extractにより、パラメータ・ファイルの各DDLSUBST文に対してDDL操作が評価されます。trueのDDLSUBST文すべてで、Extractにより、DDLSUBSTパラメータがファイルにリストされている順序で文字列置換が実行されます。

8. Extractにより、DDL文が証跡に書き込まれます。

5.10.2 ReplicatがDDLを評価する仕組み

Replicatは次のようにDDLを評価します。

1. Replicatにより、DDL操作が証跡から読み取られます。

2. Replicatにより、DDLの同期スコープが評価され、DDLが名前マッピングに適格であるかどうかが判断されます。その他はOTHERスコープになります。

3. Replicatにより、パラメータ・ファイルのMAP文が評価されます。(証跡から読み取る際に)このDDLのソースのベース・オブジェクト名がいずれかのMAP文に含まれている場合、その操作のスコープはMAPPEDとマークされます。それ以外の場合、スコープはUNMAPPEDとマークされます。

4. Replicatにより、ソースのベース・オブジェクト名が、MAP文のTARGET句に指定されたベース・オブジェクト名で置換されます。

5. 導出オブジェクトがある場合、ReplicatはDDLOPTIONS MAPDERIVEDを検索します。存在する場合は、Replicatにより、ソースの導出名がMAP文のターゲットの導出名で置換されます。

6. Replicatにより、INCLUDEおよびEXCLUDE句のDDLパラメータが確認され、それらに含まれるDDLパラメータ基準が評価されます。INCLUDEまたはEXCLUDEがTRUEに評価されるには、すべてのオプションがTRUEに評価される必要があります。次のようになります。

- いずれかのEXCLUDE句がTRUEに評価されると、ReplicatによりDDL操作が破棄され、別のDDL操作の評価が開始されます。この場合は、処理手順が新たに始まります。

- いずれかのINCLUDE句がTRUEに評価されるか、DDLパラメータにINCLUDE句またはEXCLUDE句が存在しない場合は、ReplicatにDDL操作が含まれ、処理ロジックが続行されます。

8. ReplicatによりDDLSUBSTパラメータが検索され、INCLUDEおよびEXCLUDE句が評価されます。これらの句のオプションがTRUEになると、Replicatにより、文字列置換が実行されます。Replicatにより、パラメータ・ファイルの各DDLSUBST文に対してDDL操作が評価されます。trueのDDLSUBST文すべてで、Replicatにより、DDLSUBSTパラメータがファイルにリストされている順序で文字列置換が実行されます。

9. Replicatにより、DDL操作がターゲット・データベースで実行されます。

10. エラーがない場合は、Replicatにより次のDDL文が処理されます。エラーがある場合は、Replicatにより次の手順が実行されます。

11. Replicatにより、ReplicatのDDLERRORパラメータ文のINCLUDEおよびEXCLUDEルールが、パラメータ・ファイルに表示される順序で分析されます。Replicatによりエラー・コードのルールが検出された場合は、指定のエラー処理が適用されますが、それ以外の場合はDEFAULTの処理が適用されます。

12. エラー処理を行ってもDDL操作が成功しない場合は、ルールに指定されているとおりに、異常終了、操作の無視または破棄のいずれかがReplicatにより実行されます。

注意:

MAP文に同じソースに対する複数のターゲットが存在する場合は、それぞれに対して処理ロジックが実行されます。

5.11 DDL処理エラーの処理

Extractにより検出された、メタデータのないオブジェクトのエラー、およびDDLがターゲット・データベースに適用される際に発生するReplicatのエラーを処理するには、DDLERRORパラメータを使用します。DDLERRORオプションを使用すると、処理の停止や特定の方法によるその他のエラーの処理など、デフォルトの方法で大部分のエラーを処理できます。同じパラメータ・ファイルにDDLERRORのインスタンスを複数使用して、予想されるすべてのエラーを処理できます。オプションと使用方法については、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

5.12 DDLレポート情報の表示

Oracle GoldenGateでは、デフォルトで、ExtractおよびReplicatのレポートの最後にDDL操作に関する基本統計が表示されます。拡張DDLレポートを有効化するには、DDLOPTIONSパラメータにREPORTオプションを指定して使用します。拡張レポートには、DDL処理に関する次の情報が含まれます。

- Oracle GoldenGateにより処理されたDDL操作に関する順を追った履歴。

- 使用されているDDLのフィルタリング・パラメータおよび処理パラメータ。

拡張DDLレポートの情報により、レポート・ファイルのサイズが増大しますが、トラブルシューティングなどの特定の状況で役に立ちます。

レポートを表示するには、GGSCIでVIEW REPORTコマンドを使用します。

VIEW REPORT group

5.12.1 Extract DDLレポート

Extractレポートには、次がリストされます。

- 取得された各DDL操作の構文全体、そのOracle GoldenGate CSN番号、Teradataの順序番号およびバイト単位の操作サイズ。

- 文字列置換やINCLUDEとEXCLUDEのフィルタリングなど、操作に処理基準がどのように適用されたかを示す後続のエントリ。

- 操作が証跡に書き込まれたか除外されたかを示す別のエントリ。

次に、Extractレポート・ファイルから取得された例を示します。

例5-2 ExtractレポートのDDLセクションのサンプル

2011-01-21 18:41:40  GGS INFO 2100  DDL found, operation [DROP TABLE "SMIJATOVDBS"."src13_tabtable_9" ; (size 59)], start CSN [2500FF3F0200363A], DDL seqno [00000025000000000000381500000021].
2011-01-21 18:41:40  GGS INFO 2100  DDL operation included [include mapped objname "*"], optype [DROP], objtype [TABLE], objowner [SMIJATOVDBS], objname [SRC13_TABTABLE_9].
2011-01-21 18:41:40  GGS INFO 2100  DDL operation written to extract trail file.

5.12.2 Replicat DDLレポート

Replicatレポートには、次がリストされます。

- Replicatが証跡から処理した各DDL操作の構文全体。

- 操作のスコープ(MAPPED、UNMAPPED、OTHER)、およびオブジェクト名がターゲットのDDL文でどのようにマップされたか(該当する場合)を示す後続のエントリ。

- 処理基準がどのように適用されたかを示す別のエントリ。

- 操作が成功したか失敗したか、およびReplicatによりエラー処理ルールが適用されたかどうかを示す追加のエントリ。

次に、Replicatレポート・ファイルから取得された例を示します。

例5-3 ReplicatレポートのDDLセクションのサンプル

2011-01-21 18:41:44  GGS INFO  2104  DDL found, operation [DROP TABLE "SMIJATOVDBS"."src13_tabtable_9" ; (size 59)].
2011-01-21 18:41:44  GGS INFO  2100  DDL is of mapped scope, after mapping new operation [DROP TABLE "SMIJATOVDBT"."SRC13_TABTABLE_9" ; (size 59)].
2011-01-21 18:41:44  GGS INFO  2100  Executing DDL operation.
2011-01-21 18:41:44  GGS INFO  2105  DDL operation successful.

5.12.3 プロセス・レポートの統計

GGSCIでSENDコマンドを使用すると、ExtractやReplicatのレポートにDDL処理に関する現在の統計を送信できます。

SEND {EXTRACT | REPLICAT} group REPORT

統計には、次の総数が表示されます。

- すべてのDDL操作

- スコープがMAPPEDの操作

- スコープがUNMAPPEDの操作

- スコープがOTHERの操作

- 除外された操作(操作数から含まれる操作を引いた数)

- エラー(Replicatのみ)

- 再試行されたエラー(Replicatのみ)

- 破棄されたエラー(Replicatのみ)

- 無視された操作(Replicatのみ)

5.13 DDL処理のトレース

サポートでサポート・ケースを開くと、トレースの有効化を依頼される場合があります。次のパラメータがDDLのトレースを制御します。

- TLTRACEはExtractトレースを制御します

- TRACEおよびTRACE2はReplicatトレースを制御します。

これらのパラメータには、DDLのトレースをDMLのトレースから分離するオプションがあります。詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

6 Oracle GoldenGate構成でのオブジェクトの変更

この章では、Oracle GoldenGateレプリケーション・ソリューションの使用時にいくつかの一般的なメンテナンス作業を実行する手順について説明します。この章は、次の各項で構成されます。

- 6.1項「Extractグループの削除」

- 6.2項「既存のExtractグループへの表の追加」

- 6.3項「新しいExtractグループへの表の移動」

- 6.4項「表列の変更」

6.1 Extractグループの削除

Oracle GoldenGateのExtractグループを削除するには、Teradataレプリケーション・グループからExtractプロセスを切り離す必要があります。

1. GGSCIを起動します。

2. Extractの実行中に、次のコマンドを発行します。

SEND EXTRACT group, VAMMESSAGE "control:terminate"

3. Extractを停止します。

STOP EXTRACT group

4. Extractグループを強制的に削除します。

DELETE EXTRACT group !

5. 任意のTeradataクライアントから次のコマンドを発行します。

DROP REPLICATION GROUP replication_group

6.2 既存のExtractグループへの表の追加

既存のExtractグループへ表を追加する手順:

1. Oracle GoldenGateにリンクされているソース表でアクティビティを一時停止します。

2. GGSCIを起動します。

3. GGSCIで次のコマンドを発行します。

INFO EXTRACT group

4. Checkpoint Lag行で、Extractの遅れがあるかどうかを確認します。必要に応じて、遅れがゼロになるまでINFO EXTRACTを発行し続けますが、ゼロは現時点ですべてのトランザクション・データが処理されていることを示します。

5. Extractの実行中に、次のコマンドを発行します。

SEND EXTRACT group, VAMMESSAGE "control:terminate"

6. Extractグループを停止します。

STOP EXTRACT group

7. 任意のTeradataクライアントから次のコマンドを新しい表に追加します。

ALTER REPLICATION GROUP group ADD database.table

8. 任意のTeradataクライアントから次のコマンドを発行して、セキュリティ・トークンを生成します。

ALTER REPLICATION GROUP group

9. TAM初期化ファイルを編集し、SecurityTokenパラメータを使用してセキュリティ・トークンを指定します。

10. Extractパラメータ・ファイルを編集して、新しい表を指定するTABLEパラメータを追加します。

EDIT PARAMS group

11. そのファイルを保存して閉じます。

12. GGSCIで次のコマンドを発行し、Extractを開始します。

START EXTRACT group

13. Oracle GoldenGateにリンクされているソース表でアクティビティを許可します。

6.3 新しいExtractグループへの表の移動

新しいExtractグループへ表を追加する手順:

1. Oracle GoldenGateにリンクされているすべての表のソース・データベースでアクティビティを一時停止します。

2. 現在のTeradataのCreate Group文のファイルを編集し、CREATE REPLICATION GROUP文から表を削除します。

3. GGSCIを起動します。

4. GGSCIで、現在のExtractグループに対して次のコマンドを発行します。

INFO EXTRACT group

5. Checkpoint Lag行で、Extractの遅れがあるかどうかを確認します。必要に応じて、遅れがゼロになるまでINFO EXTRACTを発行し続けますが、ゼロは現時点ですべてのトランザクション・データが処理されていることを示します。

6. GGSCIで次のコマンドを発行します。

SEND EXTRACT group, VAMMESSAGE "control:terminate"

7. 現在のExtractグループを停止します。

STOP EXTRACT group

8. 現在のExtractパラメータ・ファイルを編集します。

EDIT PARAMS group

9. 表が含まれているTABLEパラメータを削除します。

10. 任意のTeradataクライアントから次のコマンドを発行して、削除対象の表が含まれているレプリケーション・グループを削除します。

ALTER REPLICATION GROUP group DROP table

11. GGSCIで次のコマンドを発行して現在のExtractグループを開始し、その割り当てられた表(移動した表がない)の処理を続行できるようにします。

START EXTRACT group

12. 移動した表のTABLE文が含まれている新しいExtractグループを追加してから、使用している取得方法に適切な他のプロセス、証跡およびパラメータ・ファイルを追加します。手順については、「Oracle GoldenGateの構成」を参照してください。

13. 新しいtam.iniファイルと、表が含まれている新しいTeradataのCreate Group文のファイルを作成します。詳細は、「TAM初期化ファイルの構成」および「Teradataのレプリケーション・グループの作成」を参照してください。

14. 新しいExtractグループと関連プロセスを開始します。

START EXTRACT new_group

15. Oracle GoldenGateにリンクされているすべてのソース表で再開するユーザー・アクティビティを許可します。

6.4 表列の変更

表列を変更する手順:

1. Oracle GoldenGateにリンクされているすべての表のソース・データベースでアクティビティを一時停止します。

2. GGSCIを起動します。

3. GGSCIで、Extractグループに対して次のコマンドを発行します。

INFO EXTRACT group

4. Checkpoint Lag行で、Extractの遅れがあるかどうかを確認します。必要に応じて、遅れがゼロになるまでINFO EXTRACTを発行し続けますが、ゼロは現時点ですべてのトランザクション・データが処理されていることを示します。

5. Extractの実行中に、次のコマンドを発行します。

SEND EXTRACT group, VAMMESSAGE "control:terminate"

6. Extractグループを停止します。

STOP EXTRACT group

7. GGSCIで、Replicatグループに対して次のコマンドを発行します。

INFO REPLICAT group

8. Checkpoint Lag行で、Replicatの遅れがあるかどうかを確認します。必要に応じて、遅れがゼロになるまでINFO REPLICATを発行し続けますが、ゼロは証跡のすべてのデータが処理されていることを示します。

9. Replicatグループを停止します。

STOP REPLICAT group

10. ソース・データベースとターゲット・データベースで表変更を実行します。

11. ExtractプロセスとReplicatプロセスを開始します。

START EXTRACT group
START REPLICAT group

12. Oracle GoldenGateにリンクされているすべてのソース表で再開するユーザー・アクティビティを許可します。

7 Oracle GoldenGateのアンインストール

この手順では、Oracle GoldenGateの証跡のデータが不要であり、現在のOracle GoldenGate環境を保持する必要がないことを前提とします。現在の環境およびデータを保持するには、この手順を開始する前にOracle GoldenGateディレクトリとすべてのサブディレクトリのバックアップを作成します。この章は、次の各項で構成されます。

- 7.1項「LinuxまたはUNIXからのOracle GoldenGateのアンインストール」

- 7.2項「Windows (非クラスタ)からのOracle GoldenGateのアンインストール」

- 7.3項「WindowsクラスタからのOracle GoldenGateのアンインストール」

7.1 LinuxまたはUNIXからのOracle GoldenGateのアンインストール

LinuxまたはUNIXからOracle GoldenGateをアンインストールする手順:

1. コマンド・シェルを実行します。

2. (推奨)システム管理者として、またはOracle GoldenGateコマンドを発行する権限とオペレーティング・システムからファイルおよびディレクトリを削除する権限を持つユーザーとしてログオンします。

3. GGSCIを実行します。

4. Extractの実行中に、次のコマンドを発行します。

SEND EXTRACT group, VAMMESSAGE "control:terminate"

5. Extractを停止します。

STOP EXTRACT group

6. Extractグループを強制的に削除します。

DELETE EXTRACT group !

7. Managerプロセスを停止します(対話型プロンプトの回避に次のコマンドの!を使用できる場合)。

Stop Manager [!]

8. GGSCIを終了します。

9. 任意のTeradataクライアントから次のコマンドを発行します。

DROP REPLICATION GROUP repgroup name

10. インストール・ディレクトリを削除することで、Oracle GoldenGateのファイルを削除します。

11. 必要に応じて、データベースからOracle GoldenGate関連のオブジェクトを削除します。

7.2 Windows (非クラスタ)からのOracle GoldenGateのアンインストール

WindowsからOracle GoldenGateをアンインストールする手順:

1. (推奨)システム管理者として、またはOracle GoldenGateコマンドを発行する権限とオペレーティング・システムからファイルおよびディレクトリを削除する権限を持つユーザーとしてログオンします。

2. GGSCIを実行します。

3. Extractの実行中に、次のコマンドを発行します。

SEND EXTRACT group, VAMMESSAGE "control:terminate"

4. Extractを停止します。

STOP EXTRACT group

5. Extractグループを強制的に削除します。

DELETE EXTRACT group !

6. Managerプロセスを停止します(対話型プロンプトの回避に次のコマンドの!を使用できる場合)。

STOP MANAGER [!]

7. GGSCIを終了します。

8. 任意のTeradataクライアントから次のコマンドを発行します。

DROP REPLICATION GROUP repgroup name

9. 「スタート」→「ファイル名を指定して実行」をクリックし、「ファイル名を指定して実行」ダイアログ・ボックスに「cmd」と入力します。

10. ディレクトリをOracle GoldenGateインストール・ディレクトリに変更します。

11. 次の構文を使用してINSTALLユーティリティを実行します。

install deleteevents deleteservice

このコマンドによって、Windows Event ManagerへのOracle GoldenGateイベントのレポートが停止され、Managerサービスが削除されます。

12. Oracle GoldenGateインストール・フォルダを削除します。

13. 必要に応じて、データベースからOracle GoldenGate関連のオブジェクトを削除します。

7.3 WindowsクラスタからのOracle GoldenGateのアンインストール

WindowsクラスタからOracle GoldenGateをアンインストールする手順:

1. Managerリソースが含まれているクラスタ・グループを所有するクラスタのノードにログインします。システム管理者として、またはOracle GoldenGateコマンドを発行する権限とオペレーティング・システムからファイルおよびディレクトリを削除する権限を持つユーザーとしてログオンします。

2. GGSCIを実行します。

3. Extractの実行中に、次のコマンドを発行します。

SEND EXTRACT group, VAMMESSAGE "control:terminate"

4. Extractを停止します。

STOP EXTRACT group

5. Extractグループを強制的に削除します。

DELETE EXTRACT group !

6. Managerプロセスを停止します(対話型プロンプトの回避に次のコマンドの!を使用できる場合)。

STOP MANAGER [!]

7. GGSCIを終了します。

8. クラスタ・アドミニストレータ・ツールを使用してManagerリソースをオフラインにします。

9. そのリソースを右クリックし、「削除」を選択して削除します。

10. 次の構文を使用してINSTALLユーティリティを実行します。

INSTALL DELETEEVENTS DELETESERVICE

このコマンドによって、Windows Event ManagerへのOracle GoldenGateイベントのレポートが停止され、Managerサービスが削除されます。

11. クラスタ・グループをクラスタの次のノードに移動し、手順10から繰り返します。

12. 任意のTeradataクライアントから次のコマンドを発行します。

DROP REPLICATION GROUP repgroup name

13. Oracle GoldenGateインストール・フォルダを削除します。

14. 必要に応じて、データベースからOracle GoldenGate関連のオブジェクトを削除します。

A インストールされるOracle GoldenGateのコンポーネント

この付録では、Oracle GoldenGateのインストール・ディレクトリにあるOracle GoldenGateソフトウェアによって作成または使用されるプログラム、ディレクトリおよびその他のコンポーネントについて説明します。特定のプラットフォーム上にインストールされる可能性がある追加ファイルは、ここに記載されていません。ここに記載されているファイルは、すべてのプラットフォーム上にインストールされるとはかぎりません。

- A.1項「Oracle GoldenGateのプログラムおよびユーティリティ」

- A.2項「Oracle GoldenGateのサブディレクトリ」

- A.3項「その他のOracle GoldenGateファイル」

- A.4項「Oracle GoldenGateのチェックポイント表」

A.1 Oracle GoldenGateのプログラムおよびユーティリティ

この項では、ルートのOracle GoldenGateインストール・ディレクトリにインストールされるプログラムについて説明します。

注意:

一部のプログラムはインストールに含まれない場合があります。たとえば、ご使用のプラットフォームで取得または配信のみがOracle GoldenGateによってサポートされる場合には、extractプログラムまたはreplicatプログラムはそれぞれインストールされません。同様に、特定のデータベースをサポートするために特有のファイルがインストールされることがあります。

表A-1 インストールされるOracle GoldenGateのプログラムおよびユーティリティ

プログラム

説明

convchk

チェックポイント・ファイルを新しいバージョンに変換します。

convprm

引用符で囲まれた名前およびリテラルにSQL-92ルールを使用していないパラメータ・ファイルを、SQL-92ルールを使用する更新されたパラメータ・ファイルに変換します。引用符で囲まれたオブジェクト名およびリテラル用のSQL-92形式は、Oracle GoldenGateのバージョン12cでデフォルトとして導入されています。

defgen

データ定義が生成され、この定義は、ソース表とターゲット表の定義が異なる場合にOracle GoldenGateのプロセスによって参照されます。

emsclnt

WindowsシステムまたはUNIXシステム上のCollectorおよびReplicatによって作成されるイベント・メッセージをNonStopシステム上のEMSに送信します。

extract

データベース表またはトランザクション・ログからキャプチャを実行するか、ベンダーのアクセス・モジュールからトランザクション・データを受信します。

ggmxinstall

SQL/MXデータベース用のOracle GoldenGateインストール・スクリプト。

ggcmd

ggsciのプログラムに関連付けられています。Oracle GoldenGate MonitorのJAGENTなどの外部アプリケーションを起動して監視します。これらのアプリケーションをggsci環境に統合します。

ggsci

コマンドの発行やパラメータ・ファイルの管理に使用するOracle GoldenGateへのユーザー・インタフェース。

ggsmgr.jcl

ggsmgr.proc

ggsmgrst.jcl

ggsmgrst.proc

バッチ・ジョブまたはz/OSシステム上のオペレータ・コンソールからOracle GoldenGateのManagerプロセスを開始します。これは、DB2 z/OSデータベースをサポートするためにインストールされます。

install

Oracle GoldenGateをWindowsサービスとしてインストールし、Windowsベースのその他のサービス・オプションを提供します。

keygen

データ暗号化キーを生成します。

logdump

抽出証跡または抽出ファイルに格納される情報を表示および保存するためのユーティリティ。

mgr

リソース管理、Oracle GoldenGateのプロセスの制御と監視、レポートおよびGGSCIインタフェース経由のリクエストのルーティングに使用する(Manager)制御プロセス。

oggerr

Oracle GoldenGateのエラー・メッセージを管理します。

replicat

データをターゲット・データベースの表に適用します。

reverse

トランザクション操作の順序を保持するユーティリティ。これによって、Replicatを使用してターゲット表の変更を取り消し、それらの表を前の状態に復元できるようになります。

server

Collectorプロセス。これは、データをリモート証跡に書き込むExtract TCP/IPサーバー・コントローラです。

vamserv

TMF対応アプリケーションによって生成されるTMF監査証跡を読み取るためにExtractによって開始されます。これは、SQL/MXデータベースをサポートするためにインストールされます。

A.2 Oracle GoldenGateのサブディレクトリ

この項では、Oracle GoldenGateインストール・ディレクトリのサブディレクトリとその内容について説明します。

注意:

一部のディレクトリはインストールに含まれない場合があります。

表A-2 インストールされるOracle GoldenGateのサブディレクトリ

ディレクトリ

説明

br

制限付きのリカバリ機能用のチェックポイント・ファイルが含まれます。

cfg

Oracle GoldenGate Monitorの構成に使用されるプロパティ・ファイルおよびXMLファイルが含まれます。

dirdb

Oracle GoldenGate MonitorアプリケーションまたはOracle Enterprise Manager内で使用されるOracle GoldenGateインスタンスから収集された情報の保持に使用するデータストアが含まれます。

dirchk

ExtractプロセスおよびReplicatプロセスによって作成されるチェックポイント・ファイルを格納します。これらのファイルには、データの正確さとフォルト・トレランスを確保するために現在の読み書き位置が保存されます。Oracle GoldenGateの内部形式で書き込まれます。

ファイル名形式はgroup_name+sequence_number.extで、sequence_numberは古いファイルに追加される順序番号、extはcpe (Extractチェックポイント・ファイル)またはcpr (Replicatチェックポイント・ファイル)のいずれかです。

これらのファイルを編集しないでください。

例:

ext1.cpe

rep1.cpr

dircrd

資格証明ストア・ファイルを格納します。

dirdat

Replicatプロセスまたは別のアプリケーションやユーティリティによる追加処理に抽出されたデータを保存するためにExtractプロセスによって作成される、Oracle GoldenGateの証跡ファイルおよび抽出ファイルのデフォルトの場所です。Oracle GoldenGateの内部形式で書き込まれます。

ファイル名形式は、ユーザー定義の2文字の接頭辞とそれに続く6桁の順序番号(証跡ファイル)または関連付けられたExtractプロセス・グループ(抽出ファイル)です。

これらのファイルを編集しないでください。

例:

rt000001

finance

dirdef

異機種間の同期化環境で使用されるソース・データまたはターゲット・データの定義を保存するためにDEFGENユーティリティによって作成されるデータ定義ファイルのデフォルトの場所です。外部ASCIIで書き込まれます。ファイル名形式は、DEFGENパラメータ・ファイルで指定されるユーザー定義の名前です。

これらのファイルを編集して、新たに作成された表の定義を追加できます。定義ファイルの編集方法がわからない場合には、Oracle GoldenGateのテクニカル・サポートに問い合せてください。

例:

defs.dat

dirdmp

内部アクティビティ・ロギング・メカニズムをサポートするトレース(ダンプ)・ファイルを格納します。

dirjar

Oracle GoldenGate MonitorをサポートするJava実行可能ファイルが含まれます。

dirpcs

ステータス・ファイルの既定の場所です。ファイル名形式はgroup.extensionで、groupはグループ名、extensionはpce (Extract)、pcr (Replicat)またはpcm (Manager)のいずれかです。

これらのファイルが作成されるのは、プロセスを実行している間だけです。ファイルの内容はプログラム名、プロセス名、ポート番号およびプロセスIDです。

これらのファイルを編集しないでください。

例:

mgr.pcm

ext.pce

dirprm

Oracle GoldenGateプロセスのグループまたはユーティリティのランタイム・パラメータを保存するためにOracle GoldenGateユーザーによって作成される、Oracle GoldenGateパラメータ・ファイルのデフォルトの場所です。外部ASCII形式で書き込まれます。ファイル名の形式は、group name/user-defined name.prmまたはmgr.prmです。

プロセスの停止後にOracle GoldenGateパラメータの値を変更するために、これらのファイルを編集できます。これらのファイルは、テキスト・エディタで直接編集するか、GGSCIでEDIT PARAMSコマンドを使用して編集できます。

例:

defgen.prm

finance.prm

dirrec

Oracle GoldenGateでは使用しません。

dirrpt

処理実行に関連する統計情報をレポートするためにExtract、ReplicatおよびManagerの各プロセスによって作成されるプロセス・レポート・ファイルの既定の場所です。外部ASCII形式で書き込まれます。

ファイル名形式は、group name+sequence number.rptで、sequence numberは古いファイルに追加される順序番号です。

これらのファイルを編集しないでください。

例:

fin2.rpt

mgr4.rpt

dirsql

triggenが非推奨になる前は、SQLスクリプトを格納するためにtriggenユーティリティで使用されていました。現在は、Oracle GoldenGateをサポートするトレーニング・スクリプトや、ユーザー作成のSQLスクリプトの格納に使用されます。

dirtmp

キャッシュ・マネージャに割り当てられたメモリー・サイズを上回る場合に、トランザクション・データを保存するデフォルトの場所です。これらのファイルを編集しないでください。

dirwlt

Oracle GoldenGateのウォレット・ファイルを格納します。

UserExitExamples

ユーザー・イグジットの作成を支援するサンプル・ファイルが含まれます。

A.3 その他のOracle GoldenGateファイル

この項では、ルートのOracle GoldenGateインストール・ディレクトリに作成またはインストールされる、その他のファイル、テンプレートおよびオブジェクトについて説明します。

注意:

一部のファイルは、データベースおよびOSプラットフォームに応じてご使用の環境にインストールされない場合があります。

表A-3 インストールされるその他のOracle GoldenGateファイル

コンポーネント

説明

bcpfmt.tpl

Microsoft BCP/DTS一括ロード・ユーティリティに実行ファイルを作成する際にReplicatで使用するテンプレート。

bcrypt.txt

Blowfish暗号化ソフトウェアのライセンス契約。

cagent.dll

Oracle GoldenGate Monitor Cサブエージェント用のWindowsダイナミック・リンク・ライブラリが含まれます。

category.dll

INSTALLユーティリティによって使用されるWindowsダイナミック・リンク・ライブラリ。

chkpt_db_create.sql

ローカル・データベースにチェックポイント表を作成するスクリプト。データベース・タイプごとに異なるスクリプトがインストールされます。

db2cntl.tpl

IBM LOADUTIL一括ロード・ユーティリティに制御ファイルを作成する際にReplicatで使用するテンプレート。

ddl_cleartrace.sql

DDLトレース・ファイルを削除するスクリプト。(Oracleのインストール)

ddl_ddl2file.sql

マーカー表からファイルにDDLを保存するスクリプト。

ddl_disable.sql

Oracle GoldenGateのDDLトリガーを無効にするスクリプト。(Oracleのインストール)

ddl_enable.sql

Oracle GoldenGateのDDLトリガーを有効にするスクリプト。(Oracleのインストール)

ddl_filter.sql

Oracle GoldenGateによるDDLのフィルタリングをサポートするスクリプト。このスクリプトはプログラムで実行されるため、手動で実行しないでください。

ddl_nopurgeRecyclebin.sql

Oracle GoldenGateのサポート・スタッフが使用する空のスクリプト・ファイル。

ddl_ora11.sql

ddl_ora12.sql

Oracle GoldenGateのDDLサポートの一環としてプログラムで実行されるスクリプトのため、これらのスクリプトは実行しないでください。

ddl_pin.sql

パフォーマンスを改善するためにDDLトレース、DDLパッケージおよびDDLトリガーを固定するスクリプト。(Oracleのインストール)

ddl_purgeRecyclebin.sql

DDLのレプリケーション機能のサポートでOracleのごみ箱をパージするスクリプト。

ddl_remove.sql

DDL抽出トリガーおよびパッケージを削除するスクリプト。(Oracleのインストール)

ddl_session.sql

ddl_session1.sql

OracleのDDLオブジェクトのインストールをサポートします。このスクリプトはプログラムで実行されるため、手動で実行しないでください。

ddl_setup.sql

Oracle GoldenGateのDDL抽出オブジェクトおよびレプリケーション・オブジェクトをインストールするスクリプト。(Oracleのインストール)

ddl_status.sql

Oracle GoldenGateのDDLサポート機能によって作成される各オブジェクトが存在し、正しく機能するかどうかを確認するスクリプト。(Oracleのインストール)

ddl_staymetadata_off.sql

ddl_staymetadata_on.sql

OracleのDDLトリガーでメタデータを収集するかどうかを制御するスクリプト。このスクリプトはプログラムで実行されるため、手動で実行しないでください。

ddl_trace_off.sql

ddl_trace_on.sql

DDLのトレースをオンにするかオフにするかを制御するスクリプト。

ddl_tracelevel.sql

DDLサポート機能のトレース・レベルを設定するスクリプト。(Oracleのインストール)

debug files

トレースがオンになった場合に存在する可能性があるデバッグ・テキスト・ファイル。

demo_db_scriptname.sql

demo_more_db_scriptname.sql

チュートリアルや基本のテストで使用するデモンストレーション表を作成および移入するスクリプト。

.dmp files

Oracle GoldenGateプロセスにより、トレース目的で作成されるダンプ・ファイル。

ENCKEYS

暗号化キーを保存する、ユーザーが作成したファイル。外部ASCII形式で書き込まれます。

exitdemo.c

ユーザー・イグジット例。

exitdemo_utf16.c

ユーザー・イグジットとプロセスの間で交換される情報用のコールバック構造で、UTF16エンコード・データを使用する方法を示すユーザー・イグジットの例。

freeBSD.txt

FreeBSDのライセンス契約。

ggmessage.dat

Oracle GoldenGateのプロセスによって返されるエラー、情報および警告のメッセージが含まれるデータ・ファイル。このファイルのバージョンはプロセスの開始時に確認されます。このバージョンは、プロセスが動作するようにそのプロセスのバージョンと一致していなければなりません。

ggserr.log

Oracle GoldenGateによって生成される処理のイベント、メッセージ、エラーおよび警告を記録するファイル。

ggsmsg.dll

installプログラムによって使用されるWindowsのダイナミック・リンク・ライブラリ。

GLOBALS

Oracle GoldenGateのインスタンス全体に適用するパラメータを保存する、ユーザーが作成したファイル。

help.txt

GGSCIコマンド・インタフェースのヘルプ・ファイル。

icudtxx.dll

icuinxx.dll

icuucxx.dll

International Components for Unicode用のWindows共有ライブラリ(xxは、現在使用されているバージョン)。

jagent.bat

Oracle GoldenGate MonitorのJavaエージェント用のWindowsバッチ・ファイル。

jagent.log

jagentjni.log

Oracle GoldenGate Monitor Agentのログ・ファイル。

jagent.sh

Oracle GoldenGate MonitorのJavaエージェント用のUNIXシェル・スクリプト。

LGPL.txt

Lesser General Public Licenseステートメント。これは、Free Software Foundationのフリー・ライブラリに適用されます。

libodbc.so

UNIX上のIngres 2.6用のODBCファイル。

libodbc.txt

libodbc.soのライセンス契約。

libxml2.dll

Oracle GoldenGate XMLプロシージャのXMLライブラリを含むWindowsのダイナミック・リンク・ライブラリ。

libxml2.txt

libxml2.dllのライセンス契約。

marker.hist

NonStopソース・システムからマーカーが渡された場合にReplicatによって作成されるファイル。

marker_remove.sql

DDLマーカー・ファイルを削除するスクリプト。(Oracleのインストール)

marker_setup.sql

Oracle GoldenGateのDDLマーカー表をインストールするスクリプト。(Oracleのインストール)

marker_status.sql

DDLマーカー表が正常にインストールされたことを確認するスクリプト。(Oracleのインストール)

notices.txt

サード・パーティ・ソフトウェアのライセンス・ファイル。

odbcinst.ini

UNIX上のIngres 2.6用のODBC構成ファイル。

params.sql

DDLサポートの構成可能なパラメータを含むスクリプト。(Oracleのインストール)

pthread-win32.txt

pthread-VC.dllのライセンス契約。

pthread-VC.dll

Microsoft WindowsのPOSIXスレッド・ライブラリ。

prvtclkm.plb

Oracle暗号化データのレプリケーションをサポートします。

pw_agent_util.bat

pw_agent_util.sh

Oracle GoldenGate Monitor Agentをサポートするスクリプト・ファイル。

role_setup.sql

Oracle GoldenGateのDDLサポートに必要なデータベース・ロールを作成するスクリプト。(Oracleのインストール)

sampleodbc.ini

UNIX上のIngres 2.6用のサンプルODBCファイル。

sqlldr.tpl

Oracle SQL*Loader一括ロード・ユーティリティに制御ファイルを作成する際にReplicatで使用するテンプレート。

start.prm

stop.prm

Managerプロセスを開始および停止するz/OS paramlibのメンバー。

startmgr

stopmgr

GGSSCIからManagerプロセスを開始するz/OS Unix System Servicesのスクリプト。

startmgrcom

stopmgrcom

Managerプロセス用のz/OSシステム入力コマンド。

tcperrs

TCP/IPエラーに対応するユーザー定義の指示を含むファイル。

usrdecs.h

ユーザー・イグジットAPI。

xerces-c_2_8.dll

Apache XMLのパーサー・ライブラリ。

zlib.txt

zlib圧縮ライブラリのライセンス契約。

A.4 Oracle GoldenGateのチェックポイント表

データベースのチェックポイントを使用している場合、チェックポイント表は、ADD CHECKPOINTTABLEコマンドの実行時に、Oracle GoldenGateによってユーザー定義名でデータベースに作成されますが、chkpt_db_create.sqlスクリプト(dbはスクリプトがサポートするデータベース・タイプの略語)を使用してユーザーが作成することも可能です。この表の説明については、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。