この章では、Oracle GoldenGateを使用するシステムを準備する方法について説明し、内容は次のとおりです。
Oracle Fusion Middlewareソフトウェアの入手方法の詳細は、『Oracle Fusion Middlewareのインストールのプランニング』の製品の配布の理解と入手に関する項を参照してください。
Oracle WebLogic Server and Coherenceソフトウェアを開発または評価用にダウンロードするには、Oracle Technology Network (OTN)で次の場所を参照してください。
Oracle Fusion Middleware製品の検索やダウンロードの詳細は、OTNで『Oracle Fusion Middlewareダウンロード、インストール、構成のREADMEファイル』を参照してください。
Oracle GoldenGateを入手するには、次の手順に従います。
Oracle Technology Networkに移動します。
Oracle GoldenGate 12c (12.2.0.1)リリースを探して、使用中のシステムにZIPファイルをダウンロードします。
UNIXおよびLinuxでODBCを構成するには、次の方法があります。
ODBCドライバ・マネージャをデータベース・ライブラリにポイントするには、DSN情報を含むodbc.iniファイルを作成します。このファイルは、システムのどこにでも格納できます。「ODBCドライバ・ライブラリと初期化ファイルへのパスを設定」で、このファイルのパスを設定するよう指示されます。
このファイルは、冒頭に[ODBC Data Sources]セクションが必要で、それに続いてこのインストールのDSNのリストが続いている必要があります。各DSNは、それぞれのセクションに記述されており、各DSNセクションではDriverエントリが必須です。必須エントリの例を次に示します。
[ODBC Data Sources] postgre=DataDirect 6.1 PostgreSQL Wire Protocol [ODBC] IANAAppCodePage=4 InstallDir=/home/fin/fin13004/postgres/v11201_120402 [postgre] Driver=/home/fin/fin13004/postgres/v11201_120402/lib/GGpsql25.so Description=DataDirect 6.1 PostgreSQL Wire Protocol Database=fin HostName=12.345.6.789 PortNumber=5432 LogonID=postgres Password=postgre
Replicatによって使用される次のコンポーネントにパスを設定します。
odbc.iniファイルのパスに環境変数ODBCINIを設定します。これは、「データベース・ライブラリへのパスを指定」で作成したファイルで、データベース・ライブラリを検索する場所をODBCに指示します。
共有ライブラリの環境変数を、Oracle GoldenGateインストール・ディレクトリのlibサブディレクトリのパスに設定します。このサブディレクトリは、ODBCドライバ(libodbc.so)とライセンス・ファイルが格納されており、Replicatがそれを検索する場所です。
Kornシェルで変数を設定する方法
PATH=<absolute path>:$PATH export PATH <ODBCINI | shared libraries variable>=<absolute path>:
$<ODBCINI | shared libraries variable>
export <ODBCINI | shared libraries variable>
Bourneシェルで変数を設定する方法
export PATH=<absolute path>:$PATH export <ODBCINI | shared libraries variable>=<absolute path>:
$<ODBCINI | shared libraries variable>
Cシェルで変数を設定する方法
setenv PATH <absolute path>:$PATH setenv <ODBCINI | shared libraries variable> <absolute path>:
$<ODBCINI | shared libraries variable>
説明:
<absolute path>
は、どちらの変数を設定するかに応じて、odbc.ini
ファイルのフルパス、またはOracle GoldenGate lib
サブディレクトリのフルパスのどちらかです。
<shared libraries variable>
は、次のいずれかです。
プラットフォーム | 環境変数 |
---|---|
IBM AIX |
LIBPATH |
HP-UX |
SHLIB_PATH |
Sun Solaris HP Tru64 (OSF/1) Linux |
LD_LIBRARY_PATH |
例:
export LD_LIBRARY_PATH=/ggs/lib:$LD_LIBRARY_PATH
注意: Oracle GoldenGateプロセスに必要なライブラリを確認するには、プロセスを起動する前にldd <process> シェル・コマンドを使用します。なんらかの不足があれば、このコマンドでエラー・メッセージも表示されます。 |
WindowsでODBCを構成するには、次の方法があります。
ODBCドライバのパスを、WindowsレジストリのHKEY_LOCAL_MACHINE\SOFTWARE\ODBC\
にあるODBC.INI
キーとODBCINST.INI
キーに追加します。このプロセスは、Oracle GoldenGateで自動化されます。
Windowsのコマンド・プロンプトで、Oracle GoldenGateインストール・ディレクトリのディレクトリを変更します。
次の入力を指定してinstallプログラムを実行します。
install adddrivers
DSNにはデータベースへの接続方法が格納されます。
Windowsシステムで、「コントロール パネル」フォルダを開きます。
「管理ツール」フォルダを開きます。
「データ ソース(ODBC)」を開きます。「ODBCデータ ソース アドミニストレータ」ダイアログ・ボックスが表示されます。
「システムDSN」タブを選択し、「追加」をクリックします。
「データ ソースの新規作成」で、PostgreSQLドライバを選択します。
「完了」をクリックします。「データ ソースの新規作成」ウィザードが表示されます。
次を入力します。
「クライアントDSN」に、クライアント名のDSNの名前を入力します。アンダースコアとダッシュ以外の特殊キーボード文字を除いた32文字までの英数字を使用できます。
(オプション)「説明」に、このDSNの説明を入力します。
このダイアログの他のフィールドに、PostgreSQLデータベースとそのホストの正しい情報を指定します。
「OK」をクリックしてダイアログを閉じます。
Oracle GoldenGateがPostgreSQLとやり取りする他のシステムで、前述の手順を繰り返します。
Replicatパラメータ・ファイルのTARGETDB
パラメータでDSNを指定します。このパラメータの詳細は、『Oracle GoldenGate Windows and UNIXリファレンス・ガイド』を参照してください。
次の表属性は、Oracle GoldenGate環境で処理する必要があります。
ターゲット表のトリガー、カスケード削除制約、カスケード更新制約を無効にするか、これらを変更してOracle GoldenGateデータベース・ユーザーによる変更が無視されるようにします。Oracle GoldenGateでは、トリガーまたはカスケード制約の結果として生成されるDMLがレプリケートされます。同じトリガーや制約がターゲット表でアクティブになった場合、レプリケートされたバージョンのために重複となり、データベースでエラーが返されます。次の例を検討してください。ソース表が"emp_src"と"salary_src"で、ターゲット表が"emp_targ"と"salary_targ"です。
emp_srcに削除が発行されます。
それによって、削除がsalary_srcにカスケードされます。
Oracle GoldenGateが、両方の削除をターゲットに送信します。
親削除が先に届き、emp_targに適用されます。
親削除によって、削除がsalary_targにカスケードされます。
salary_srcからカスケードされた削除が、salary_targに適用されます。
行は、すでに手順5で削除されているため、見つかりません。
Oracle GoldenGateでは、レプリケートされた更新および削除に対して正しいターゲット行を見つけるために、ソース表とターゲット表にある形式の一意の行識別子が必要です。
KEYCOLS
句がTABLE
文またはMAP
文内で使用されていない場合、Oracle GoldenGateは、使用する行識別子を次の優先順位で選択します。
主キー
タイムスタンプまたは計算結果列を含まない英数字順で最初の一意キー。
前述のキー・タイプのいずれも存在しない場合(その他の種類のキーが表に定義されている場合でも)、Oracle GoldenGateは、データベースで一意キーでの使用を許可されているすべての列(キー内での使用がOracle GoldenGateでサポートされていない列やOracle GoldenGateのパラメータを使用して明示的に除外されている列は除く)で疑似キーを作成します。
表に使用可能な他のキーがない場合や、表にキーがまったくない場合、Oracle GoldenGateは該当するメッセージをレポート・ファイルに記録します。すべての列からキーを作成すると、ソース・システムのOracle GoldenGateのパフォーマンスが低下します。ターゲットでは、このキーはReplicatであまり効率的でないより大きいWHERE
句が使用される原因となります。
Replicatは、差異があるとき、ソース・データのキャラクタ・セットを、ターゲット・データのキャラクタ・セットに変換します。Replicatが間違いなくターゲット・データの正しいキャラクタ・セットを使用するように、PostgreSQLの環境変数PGCLIENTENCODING
を正しいキャラクタ・セットに設定してください。Replicatがキャラクタ・セットをその値に設定します。PGCLIENTENCODING
を設定しない場合、Replicatは適用されるデータのキャラクタ・セットを、ターゲット・サーバーのキャラクタ・セットに設定します。
Oracle GoldenGateがグローバル・サポートのキャラクタ・セット、ロケール、その他の機能を処理する方法の詳細は、WindowsとUNIXのOracle GoldenGate管理者ガイドを参照してください。