この章では、Oracle GoldenGateをサポートするシステム・リソースとデータベース・リソースの要件を示します。
この章の内容は次のとおりです。
サポートされているハードウェアまたはソフトウェア構成で製品をインストールしていることを確認します。詳細は、「Oracle Fusion Middleware Supported System Configurations」ページのリリースの動作保証に関するドキュメントを参照してください。
Oracleでは、動作保証済のすべてのシステムおよび環境で製品のパフォーマンスをテストおよび検証しており、新しい動作保証情報が発表された場合は、適切な動作保証ドキュメントにすぐに追加されます。新しい動作保証情報は常に発生する可能性があるため、動作保証ドキュメントはドキュメント・ライブラリの外部に保持され、Oracle Technology Networkで利用できます。
この項では、Informix Dynamic Serverのオペレーティング・システムの要件を説明します。これらの要件は、次のいずれかのカテゴリに分類されます。
Oracle GoldenGateに必要なメモリーの量は、動作する同時プロセスの数によって異なります。ソース・システムには最低でも、ソース・データをキャプチャするプライマリExtractプロセスおよびネットワークを介してデータを転送するセカンダリExtractデータ・ポンプ・プロセスがあります。ターゲット・システムには最低でも、レプリケートされたデータをターゲット・データベースに適用する1つ以上のReplicatプロセスがあります。必要な構成によっては、これらのプロセスがすべて同じシステムで動作する場合があります。
レプリケートが必要なトランザクション・データを大量に生成する環境の場合、追加のパラレル・プロセスを使用してスループットを改善する必要がある場合があります。Oracle GoldenGateでは、Oracle GoldenGateのインスタンスごとにExtractおよびReplicatの同時プロセスが最大5,000個サポートされます。ExtractおよびReplicatの各プロセスでは、約25から55MBのメモリーが必要であり、トランザクションのサイズと同時トランザクション数によってはそれ以上のメモリーが必要です。
Oracle GoldenGateプロセスによって使用される物理メモリーの実際の量は、Oracle GoldenGateプログラムではなく、オペレーティング・システムによって制御されます。Oracle GoldenGateキャッシュ・マネージャは、オペレーティング・システムのメモリー管理機能を利用して、Oracle GoldenGateプロセスを持続的かつ効率的に機能させます。Oracle GoldenGateのメモリー要件を求めるには、Oracle GoldenGate for Windows and UNIXの管理のCACHEMGRパラメータの説明を参照してください。
次の説明に従って、ディスク空き領域を割り当てます。
データベースおよびプラットフォームに応じて50から150MB。これには圧縮されたダウンロード・ファイル用の領域と、圧縮されていないファイル用の領域が含まれます。ダウンロード・ファイルは、インストールの完了後に削除できます。
システムにインストールするOracle GoldenGateの各インスタンスの作業ディレクトリおよびバイナリ用に40MB。たとえば、Oracle GoldenGateの2つのビルドを2つの別個のディレクトリにインストールするには、80MBの領域を割り当てます。
Oracle GoldenGateの証跡(作業データが含まれているファイル)をホストするシステム上の追加の1GBのディスク領域。証跡によって消費される領域は処理されるデータ量に応じて異なるため、これとは多少異なる容量が必要となる場合があります。Oracle GoldenGate Oracle GoldenGateの管理for Windows and UNIXで証跡のサイズ設定のガイドラインを参照してください。
デフォルトでは、Oracle GoldenGateによってOracle GoldenGateインストール・ディレクトリのdirtmp
サブディレクトリにディスクにスワップされるデータが保持されます。キャッシュ・マネージャは、ファイル・システムのすべての空き容量を使用可能とみなします。トランザクション・ボリュームとトランザクション・サイズが大きい場合、このディレクトリはすぐに一杯になります。I/Oの競合とディスクに関連するExtractの障害が起こらないようにするには、ディスクをこのディレクトリ専用にします。CACHEMGR
パラメータのCACHEDIRECTORY
オプションを使用して、このディレクトリに名前とサイズを割り当てることができます。CACHEMGR
のCACHESIZE
オプションにより、トランザクション・データのキャッシュに使用できる仮想メモリー量(キャッシュ・サイズ)の弱い制限が設定されます。これらのオプションのデフォルト値およびシステム調整が必要な場合の詳しい説明については、Oracle GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
次の説明に従って、ネットワークを構成します。
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のポートを経由した接続を受け入れるようにファイアウォールを構成します。
次の説明に従って権限を割り当てます。
Oracle GoldenGate Managerプロセスには、次のオペレーティング・システム権限が必要です。
Oracle GoldenGateディレクトリ内のファイルおよびフォルダに対する完全な管理権限。
証跡ファイルがOracle GoldenGateディレクトリ以外の場所に保存された場合の、証跡ファイルに対する完全な管理権限。
ローカル管理グループのメンバーシップ。
データのキャプチャとレプリケーションを行うプログラム(ExtractとReplicat)は、Managerアカウント下で動作し、管理者権限を継承します。
Managerプロセスは、Windowsサービスとして実行することも、現行ユーザーとしてインタラクティブに実行することもできます。これは、Oracle GoldenGateのインストール時に決定します。詳細は、2.4項「WindowsへのOracle GoldenGateのインストール」を参照してください。
Oracle GoldenGateでは、プラットフォーム上で仮想化ソフトウェアを使用して作成された仮想マシン環境を完全にサポートします。仮想マシン環境にOracle GoldenGateをインストールする場合、ホスト・システムではなく仮想マシンのデータベースおよびオペレーティング・システムに適合するビルドを選択します。
Open Database Connectivity (ODBC)ドライバ・マネージャがシステムにインストールされていることを確認します。UNIXの場合は、unixODBC
ドライバ・マネージャ(無料でダウンロードできます)を使用できます。
Oracle GoldenGateをInformix Dynamic Server (IDS)データベースと連動させるには、データベース・インスタンスで次の設定を行う必要があります。
IDSに付属のCSDKではなく、最新のInformix Client SDK (CSDK)をインストールすることをお薦めします。
http://www-01.ibm.com/software/data/informix/
Oracle GoldenGateをインストールする前に、インストールしたInformixサポート・バージョンにInformix CSDKバージョン4.10修正版をインストールする必要があります。これは、Oracle GoldenGateがこの修正版で開発されているためであり、修正版をインストールしないと、予測不能なExtractおよびReplicat動作が発生し、異常終了する場合があります。Informix Serverの修正版は、次で確認できます。
http://www-933.ibm.com/support/fixcentral/
また、IBMが処理するIDSでメモリー・リークが発生することも確認されています。環境に適切なバージョンにデータベースをアップグレードすることをお薦めします。
既存のIDSバージョン | アップグレード対象のバージョン |
---|---|
12.10 | 12.10.FC3W1 |
11.70 | 11.70.xC8 |
11.50 | アップグレードは不要。 |
データベースは、次の推奨事項に従って構成する必要があります。
Oracle GoldenGateのソースおよびターゲットのシステムにInformix Dynamic Serverのルート・インストールが存在する必要があります。Informixデータベースをホストしているシステムからリモートにある、サポートされているプラットフォームにOracle GoldenGateをインストールできます。
データベース・ライブラリlibthcli
、libifdmr
、libifgls.so
およびlibifglx.so
ランタイム・ライブラリは、Oracle GoldenGateがインストールされているシステム(ソース、ターゲットまたはリモート・システム)に存在する必要があります。LD_LIBRARY_PATH
またはLIBPATH
変数(プラットフォームよって異なります)は、これらのライブラリのインストール・パスに設定する必要があります。たとえば、$INFORMIXDIR
がルートInformixインストールのパスとすると、ランタイム環境のライブラリ・パスを次のように設定する必要があります。
LD_LIBRARY_PATH=$INFORMIXDIR/lib/cli:$INFORMIXDIR/lib/esql:$ LD_LIBRARY_PATH
InformixシステムでOracle GoldenGateをインストールおよび実行中に、Informix Dynamic Serverデータベースが実行されている必要があります。
SYSCDC
データベースは、ソースおよびターゲットInformixシステムにOracle GoldenGateをインストールする前に作成しておく必要があります。SYSCDC
データベースを作成するためのスクリプトおよび関連する関数は、通常は$INFORMIXDIR/etc/syscdcv1.sql
の場所に存在します。informix
ユーザーとしてスクリプトを実行します。
Oracle GoldenGateによって、変更データがInformixソース・システムのExtractプロセスに渡されます。これは、Oracle GoldenGate ADD TRANDATA
コマンドによって、Informixデータベース・オブジェクトに対して有効になっています。
Informixでサポートされている3つのモード(バッファなし、バッファあり、またはANSI準拠)いずれかでトランザクション・ロギングを有効にします。これは、ソースおよびターゲットの両方のInformixデータベースで実行する必要があります。Informix Dynamic Serverインストールに付属のInformixツールondblog
を使用して、ロギングを変更できます。
onmode
ツールを使用して、IDS論理ログ・サイズに適切な値を設定します。
onmode -wf logsize=value
最適なログ・サイズを判断するには、次のコマンドを使用して、データベース・エンジンからパフォーマンス・データを取得します。
onstat -g ckp
Informix Web DataBlade HTMLデータ型のサポートは、IBM Informix Web DataBladeモジュールをインストールして有効化しているかによって異なります。さらに、ソースまたはターゲット・データベースで、次の例のように、Web DataBladeモジュールを両方のデータベースに登録する必要があります。
EXECUTE FUNCTION sysbldprepare('web.4.13.FC4','create');
次のように、GL_USEGLU
環境変数を設定します。
SET GL_USEGLU=0
オプションで、Open Admin (OAT)をインストールして構成し、Informixサーバー・インスタンスに接続します。
Oracle GoldenGateでは、Informix ODBCドライバを使用して、SYSCDC
データベースに接続します。ドライバ・ファイルは、libthcli
またはlibifdmr
(UNIX)およびiclit09b.so
(Windows)です。ドライバ・バージョンは、Informix Dynamic Serverバージョンと互換性がある必要があります。
Oracle GoldenGate Extractプロセスは、informix
ユーザーとして、SYSCDC
データベースのみに接続する必要があります。このユーザーには、InformixデータベースからデータをキャプチャするのにOracle GoldenGateで必要なすべてのデータベース権限があります。このユーザーの資格証明は、安全な方法でOracle GoldenGateパラメータ・ファイルに指定する必要があります。この情報は、構成手順の実行中に指定するように求められます。
Oracle GoldenGateでは、1.5項「サポートされていないInformix Dynamic Serverデータ型」に記載されているデータ型以外は、Informixのほとんどのデータ型をサポートしています。
サポートの制限
Oracle GoldenGateでは、4Kより大きいラージ・オブジェクトのフィルタリング、列マッピングまたは操作はサポートされません。Oracle GoldenGateのすべての機能は、4K以下のオブジェクトに対して使用できます。
LOBオブジェクトは、APIを介してキャプチャされません。LOB列をキャプチャするには、影響を受ける表を指定するExtract TABLE
文にFETCHCOLS
オプションを使用する必要があります。このパラメータの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
そのINTERVAL
に、デフォルトでない精度がある場合、Oracle GoldenGateでは、INTERVAL
データ型を4桁以下に切り捨てる場合があります。
Oracle GoldenGateでは、0001/01/03:00:00:00から9999/12/31:23:59:59のInformix DATETIME
データをサポートしています。タイムスタンプがGMTからローカル時間に変換されると、これらの制限も変換後のタイムスタンプに適用されます。タイムゾーンに応じて、変換により時間が追加または引かれる場合があり、これにより、タイムスタンプがサポートされている上限を超えたり、下回ったりすることがあります。
Oracle GoldenGateでは、次の例のように、textashtml
という名前の関数がターゲット・データベースに作成される場合にのみ、HTMLデータ型列へのInformixレプリケーションをサポートします。
create function textashtml(lo_text REFERENCES TEXT) returning html; return lo_text::clob::html; end function
この関数を呼び出すユーザーにExecute権限を付与する必要があります。HTMLデータ型の列をレプリケートする場合は、Informix ODBCドライバの制限により、データのサイズが65534バイトを超えない(複数のHTML列が同じ表にある場合)ようにする必要もあります。
LOBをレプリケートするには、次のプロシージャをターゲットに作成する必要があります。
create function textasclob(lo_text REFERENCES TEXT) returning clob; return lo_text::clob; end function; create function textasclob(lo_clob CLOB) returning clob; return lo_clob; end function; create function byteasblob(lo_byte REFERENCES BYTE) returning blob; return lo_byte::blob; end function; create function byteasblob(lo_blob BLOB) returning blob; return lo_blob; end function;
これらの関数を呼び出すユーザーにExecute権限を付与する必要があります。
Informixはゼロ値を終了文字として解釈するため、Oracle GoldenGateでは、BYTE
データ型を使用する場合にのみ、0x00が含まれているデータをサポートします。
MONEY
型は、スケールおよび精度なしでCOLMONEY MONEY
として宣言できます。ただし、スケールおよび精度を指定しないと、Replicatはすべてのロケールで同じ精度とスケールを使用して同じ値を返すことができません。たとえば、日本語ロケールでは、バックスラッシュ記号が円記号のASCII表現であり、円では小数表現がないため、3.1を入力すると\3が返され、数値が丸められます。Informixでは、日本語ロケールの数値を丸めないようにすることはできないため、これは予想される動作です。
次の例のように、精度とスケールを使用して、MONEY
列を明示的に定義することをお薦めします。
COLMONEY MONEY(p,s)
そのように実行すると、ロケールに関係なく小数点以下のすべての桁をレプリケートできます。
次のInformixデータ型は、Oracle GoldenGateではサポートされていません。
HTML
を除くすべてのユーザー定義型はサポートされていません。
コレクション・データ型(SET
、MULTISET
、LIST
、ROW
)
次のオブジェクトと操作がサポートされています。
Oracle GoldenGateでは、データベース・エンジンによってサポートされる最大長の行を含む表に対するDMLのキャプチャおよび適用操作をサポートしています。
次の操作がサポートされます。
INSERT
UPDATE
DELETE
TRUNCATE
注意: TRUNCATE はサポートされていますが、この操作ではパフォーマンスの問題が発生する場合があるため、使用しないことをお薦めします。 |
トランザクションのROLLBACK
トランザクションのセーブポイントまでのROLLBACK
Oracle GoldenGateでは、データ圧縮および列の暗号化を使用するInformix表をサポートしています。
Oracle GoldenGate Extract (キャプチャ)プロセスは、複数のInformixデータベースからのキャプチャをサポートしています。
Oracle GoldenGate Extractプロセスは、断片化された表からのキャプチャをサポートしています。キー列(主キー)が変更される断片化されたソース表へのUPDATE
操作のデフォルトの動作では、キャプチャにより、次の操作に更新が順番に変換されます。
INSERT new row DELETE old row
この動作は、断片化された表の主キー更新でInformix論理ログが書き込まれる方法に従います。
Oracle GoldenGate Replicatプロセスは、ソース操作(証跡内)がTRUNCATE
の場合に、DELETE
操作をターゲット表に常に実行します。
Replicat調整配信機能は、Solaris Sparcプラットフォーム以外のすべてのサポートされたプラットフォームでサポートされます。
制限
Oracle GoldenGateは、小文字の名前の表および列のみをサポートします。混合表または大文字表の名前がデータベースに存在する場合は、これらのオブジェクトに小文字のシノニムを作成する必要があります。小文字でない列名はサポートされていません。Extractでは、混合または大文字の名前の表または列からキャプチャしません。
たとえば、ExtractでUPPERCASETAB
という名前の表からキャプチャする場合は、次のコマンドを発行して、小文字のシノニムを作成します。
CREATE SYNONYM 'mytables'.tabalias1 for 'mytables'."UPPERCTAB"
Oracle GoldenGateパラメータ・ファイルでは、表のリストおよびマッピング時にのみシノニムを指定します。Oracle GoldenGateプロセスでは、シノニムのみが参照され、証跡およびその他のファイルに格納されます。
Oracle GoldenGateでは、データベースのカタログ部分の先頭のワイルドカードの使用をサポートしていません。たとえば、*.schema_name_table_name
はサポートされていません。
オペレーティング・システムによる特定のReplicatプロセスに割り当てられているユーザーIDに基づいて、アクティブ/アクティブ構成のReplicatトランザクションのフィルタリングがサポートされています。ユーザーの名前を判断するには、次を実行します。
UNIXの場合は、次のコマンドを使用します。
id informixuid=501(informix) gid=501(informix) groups=501(informix),0(root) context=user_u:system_r:unconfined_t
Windowsでは、次のレジストリ・キーを問い合せ、"UIDユーザーIDに関連付けられているDOMAIN\usernameまたはMACHINE\username
を取得します。
HKEY_LOCAL_MACHINE\SOFTWARE\Informix\OnLine\%INFORMIXSERVER%\Security\Users\Usernames\UID#
注意: 前述の構文の%INFORMIXSERVER% は、そのインスタンスのINFORMIXSERVER 環境変数の値です。UID# は、最後に連結される数値ユーザーIDを含むリテラル・テキストUIDです。たとえば、値UID23 では、23がログ・レコードのユーザーIDです。 |
Replicatを使用して、同じプロセスの複数のターゲット・データベースにデータをレプリケートする場合は、DBOPTIONS SPTHREAD
パラメータおよびオプションをReplicatパラメータ・ファイルに使用する必要があります。SQLEXEC
の他の使用の場合、このパラメータは必須ではありません。
Oracle GoldenGateでは、SQL_LONGVARCHAR
(LVARCHAR
のネイティブ・データ型)パラメータをExtractまたはReplicat操作のキー列として使用することはサポートされていません。たとえば、レプリケーション表でSQL_LONGVARCHAR
をキー列として作成すると、Oracle GoldenGateはそれをキー列として扱わず、他の疑似列をキー列の一部とみなします。
アーカイブ・ログからのトランザクション・レコードの読取りはサポートされていません。
動的ワイルドカード解決はサポートされていません。
次のオブジェクトと操作は、Informix Dynamic Serverによってサポートされていません。
すべてのシステム・データベースはOracle GoldenGateによるキャプチャから除外され、パラメータ・ファイルで指定されている場合は無視されます。これらは、sysadmin
、syscdcv1
、sysmaster
、sysuser
およびsysutils
です。
99以下の表識別子(tabid
)を持つすべての表は、Oracle GoldenGateによるキャプチャから除外されます。これらは、Informixシステム表です。
データ定義言語(DDL)のキャプチャおよび適用操作はサポートされていません。
アーカイブまたはバックアップからのキャプチャはサポートされていません。トランザクション・ログはオンラインである必要があります。Extractが処理を終了するまでログが残るように、ログのサイズを設定する手順は、第3章「Oracle GoldenGateシステムの準備」を参照してください。
Extractは、アーカイブ論理ログに存在する有効なログ順序番号(LSN)で起動できます。Extractは、アーカイブまたはバックアップ・ログに存在するLSNに配置できません。配置オプションの詳細は、『Oracle GoldenGateリファレンスfor Windows and UNIX』を参照してください。Extract再配置オプションの詳細は、『Oracle GoldenGateリファレンスfor Windows and UNIX』を参照してください。
WILDCARDRESOLVE
パラメータは、パラメータ・ファイルでIMMEDIATE
に設定する必要があります。
ATCSN
およびAFTERCSN
オプションは、IDSバージョンではサポートされていません。