この章では、Oracle GoldenGateをサポートするシステムおよびデータベース・リソースの要件について説明します。
この章の内容は次のとおりです。
データベースのバージョンとオペレーティング・システムの具体的な組合せに対してOracle GoldenGateのどのビルドが使用できるかを確認するには、http://support.oracle.com
にログオンして「Certifications」タブを選択します。このサイトにアクセスするには、電子メールとパスワードが必要です。
この項では、Oracle GoldenGateのサポートに必要なオペレーティング・システム・リソースについて概説します。
Oracle GoldenGateに必要なメモリーの量は、処理されるデータの量、実行されるOracle GoldenGateプロセスの数、Oracle GoldenGateで使用可能なRAMの量、およびオペレーティング・システムでRAMを開放する必要がある場合(通常はロー・ウォーターマークに達した場合)にRAMのページを一時的に格納するためにOracle GoldenGateで使用可能なディスク領域の量に応じて異なります。このRAMからディスクへの一時的な格納は、一般にスワッピングまたはページングと呼ばれます(以後スワッピングと呼びます)。プラットフォームによっては、スワップ領域という用語は、スワップ・パーティション、スワップ・ファイル、ページ・ファイル(Windows)または共有メモリー・セグメント(IBM iプラットフォーム)と呼ばれます。
最近のサーバーには、Oracle GoldenGateを実行するのに十分なRAMとスワップ領域、メモリー管理システムが備わっています。ただし、Oracle GoldenGateで使用できるRAMの量を増やすと、Oracle GoldenGateのパフォーマンスおよびシステム全般のパフォーマンスが大幅に向上する場合があります。
通常のOracle GoldenGateインストールでは、RAMページからディスクへのスワッピングが過度に発生しないよう数GBのRAMが指定されます。RAMの競合が多いほど、多くのスワップ領域が使用されます。
ディスクへのスワッピングが過度に発生する場合、コミット・レコードを受信するまで各オープン・トランザクションのデータを格納する必要があるため、特にExtractプロセスにパフォーマンスの問題が生じます。Oracle GoldenGateがデータベースと同じシステムで稼働する場合、使用可能なRAMの量は、両方のパフォーマンスにとって非常に重要になります。
RAMとスワップの使用量は、Oracle GoldenGateプロセスではなく、オペレーティング・システムによって制御されます。Oracle GoldenGateキャッシュ・マネージャは、オペレーティング・システムのメモリー管理機能を利用して、Oracle GoldenGateプロセスを持続的かつ効率的に機能させます。ほとんどの場合、ユーザーは、デフォルトのOracle GoldenGateメモリー管理構成を変更する必要はありません。
Oracle GoldenGateのメモリー要件を求めるには、Oracle GoldenGate Windows and UNIXリファレンスのCACHEMGRパラメータの項を参照してください。
次の空きディスク領域を割り当てます。
Oracle GoldenGateダウンロード・ファイルのサイズを確認するには、選択したビルドをOracle Software Delivery Cloudからダウンロードする前に「サイズ」列を確認します。表示される値は、圧縮形式のファイルのサイズです。ディスク上に展開したOracle GoldenGateインストール・ディレクトリのサイズは非常に大きくなります。詳細は、2.3項「Oracle GoldenGateのダウンロード」を参照してください。
Oracle GoldenGate証跡(作業用データが含まれているファイル)をホストするシステムに追加で最低1GBのディスク領域を見込みます。証跡によって消費される領域は処理されるデータ量に応じて異なるため、これとは多少異なる容量が必要となる場合があります。Oracle GoldenGate Windows and UNIXの管理で証跡のサイズ設定のガイドラインを参照してください。
デフォルトでは、Oracle GoldenGateによってOracle GoldenGateインストール・ディレクトリのdirtmp
サブディレクトリにディスクにスワップされるデータが保持されます。キャッシュ・マネージャは、ファイル・システムのすべての空き容量を使用可能とみなします。トランザクション・ボリュームとトランザクション・サイズが大きい場合、このディレクトリはすぐに一杯になります。I/Oの競合とディスクに関連するExtractの障害が起こらないようにするには、ディスクをこのディレクトリ専用にします。CACHEMGR
パラメータのCACHEDIRECTORY
オプションを使用して、このディレクトリに名前とサイズを割り当てることができます。CACHEMGR
のCACHESIZE
オプションにより、トランザクション・データのキャッシュに使用できる仮想メモリー量(キャッシュ・サイズ)の弱い制限が設定されます。これらのオプションのデフォルト値およびシステム調整が必要な場合の詳しい説明については、Oracle GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
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のポートを介して接続を受け入れるようにファイアウォールを構成します。
Oracle GoldenGateをインストールしてプロセスを実行するために必要なオペレーティング・システムの権限は次のとおりです。
Windowsにインストールする場合、Oracle GoldenGateをインストールするユーザーは管理者としてログインする必要があります。
UNIXにインストールする場合、Oracle GoldenGateをインストールするユーザーには、Oracle GoldenGateインストール・ディレクトリに対する読取り権限および書込み権限が必要です。
Oracle GoldenGate Extract、ReplicatおよびManagerプロセスは、Oracle GoldenGateディレクトリのファイルおよびサブディレクトリに対して、読取り権限、書込み権限および削除権限を持つオペレーティング・システム・ユーザーとして動作する必要があります。さらに、Managerプロセスには、他のOracle GoldenGateプロセスを制御する権限が必要です。
Extractプロセスは、オンラインおよびアーカイブの両トランザクション・ログ・ファイルに読取りアクセス可能なオペレーティング・システム・ユーザーとして動作する必要があります。このドキュメントのインストール手順でManagerプロセスをWindowsサービスとしてインストールするには、正しい権限が割り当てられるように管理者としてインストールする必要があります。Managerをサービスとしてインストールできない場合は、Extractプロセスに対する読取り権限を手動で割り当て、ManagerおよびExtractを常に管理者として実行します。
Extract、ReplicatおよびManagerの各オペレーティング・システム・ユーザーをOracle GoldenGate専用とします。Oracle GoldenGateプロセスを実行するユーザーは機密情報にアクセスできる可能性があります。
オペレーティング・システムとコマンド・コンソールのキャラクタ・セットが同じである必要があります。オペレーティング・システムではあるキャラクタ・セットが設定され、DOSコマンド・プロンプトでは別の古いDOSキャラクタ・セットを使用するMicrosoft Windowsシステムでは不一致が起こります。Oracle GoldenGateでは、オペレテーィング・システムのキャラクタ・セットを使用してGGSCIコマンド出力に情報を送信するため、コンソールのキャラクタ・セットの不一致が原因で文字が正しく表示されません。次のDOSコマンドを使用して、GGSCIセッションを開く前にコンソールのキャラクタ・セットを設定できます。
chcp OS_character_set
コード・ページの設定後、文字が正しく表示されない場合、拡張キャラクタ・セットを持つLucida Consoleにコンソール・フォントを変更してみます。
Oracle GoldenGateをサポートするために考慮すべきその他の事項を次に示します。
Oracle GoldenGateをWindowsシステムにインストールする前に、Microsoft Visual C ++ 2010 SP1再頒布可能パッケージをインストールおよび構成します。このパッケージのSP1バージョンであることを確認し、使用するサーバーに適合するビット・バージョンであることを確認してください。このパッケージでは、Visual C++ライブラリのランタイム・コンポーネントがインストールされます。詳細およびこのパッケージのダウンロードについては、http://www.microsoft.com
に移動してください。
Oracle GoldenGateは、すべてのプラットフォームの仮想化ソフトウェアで作成された仮想マシン環境を完全サポートします。仮想マシン環境にOracle GoldenGateをインストールする場合は、ホスト・システムではなく、仮想マシンのデータベースとオペレーティング・システムに適合するビルドを選択します。
この項では、Sybaseデータベースに固有のOracle GoldenGate要件を示します。
Extractプロセスは、ソースSybaseサーバーのSybase Replication APIを直接呼び出します。次の手順で、このサーバーのソース・データベースを、Oracle GoldenGateによるデータ・キャプチャをサポートするように構成する必要があります。
DSQUERY
変数を、Oracle GoldenGateが使用するデータベースを含むサーバーに設定します。
ExtractはSybase LTMを使用してSybaseトランザクション・ログを読み取るため、Sybase RepServerが同じデータベースに対して実行されている場合はExtractを実行できません。同じデータベース上のトランザクション・ログを読み取ることができるコンテキストを保持できるのは、一度に1つのプロセスのみです。
Extractプロセスには、2次ログ切捨て点を管理するための権限が必要です。詳細は、3.2.3項「2次切捨て点の初期化」を参照してください。
ソース・レプリケーション・サーバーはアクティブなデータベースである必要があります。Oracle GoldenGateは、ウォーム・スタンバイ・モードのデータベースからはキャプチャできません。
データベース・ページ・サイズを4K、8K、16K、32Kまたはそれ以上に構成します。2Kのデータベース・ページ・サイズを構成した場合、GoldenGate UpgradeCheckpoint
表の作成を試行すると、データベースがエラーになります。
Oracle GoldenGateには、データベース・ユーザー・アカウントが必要です。このアカウントを作成し、次のガイドラインに従って権限を割り当てます。
データの安全性確保と、Oracle GoldenGateの処理の的確な監視のため、他のユーザー、アプリケーション、プロセスには、Oracle GoldenGateデータベース・ユーザーとしてのログオンまたは操作を許可しないでください。
Oracle GoldenGate専用のデータベース・ユーザーを作成します。データベースに接続する必要のあるすべてのOracle GoldenGateプロセスに対して同じユーザーでもかまいません。
Extract(ソース・データベース)
Replicat(ターゲット・データベース)
DEFGEN
ユーティリティ(ソースまたはターゲット・データベース)
Extractプロセスには、ソース・データベースにアクセスするための権限が必要です。次のいずれかを行います。
システム管理者権限を付与します。
ユーザー名にreplication_role
を割り当てます。レプリケーション・ロールを付与するためのコマンドは次のとおりです。
sp_role 'grant', replication_role, Extract_user
または
use dbname grant role replication_role to Extract_user
注意: 特定のDDLまたはDML操作では、sa_role とreplication_role の両方を使用する必要があることがあります。 |
Replicatプロセスには、ターゲット・データベースに対する接続権限およびDML権限が必要です。
この項では、Oracle GoldenGateでサポートされるSybaseデータ型と、このサポートの制限事項を示します。
BIGINT
BIT
DECIMAL
INT
(符号付きおよび符号なし)
TINYINT
(符号付きおよび符号なし)
NUMERIC
SMALLINT
(符号付きおよび符号なし)
サポートの制限事項
NUMERIC
とDECIMAL
(固定小数点)は、計算や変換を行わずに同じデータ型のターゲット列にデータを移動する場合にサポートされ、完全性が保持されます。計算や変換を実行する必要がある場合、Oracle GoldenGateは符号付きの長整数 (32ビット)の最大値をサポートします。
Sybaseデータベース間の自動マッピングでは、BIT
がサポートされます。Sybaseと他のデータベース・タイプとの間でBIT
データを移動する場合、Oracle GoldenGateはBIT
データをバイナリとして扱います。この場合、次のことが必要です。
TABLE
文またはMAP
文のCOLMAP
句を使用して、BIT
列を対応するソース列またはターゲット列にマップする必要があります。
ASE 15.7の場合、これらのデータ型はレプリケートできません。
BIGINT
(キー列として)
BIGDATETIME
BIGTIME
TINYINT
をレプリケートする際にExtractがReplicatと同じバージョンでない場合、同一のSybaseバージョン間でレプリケートする場合でも、sourcedef
またはtargetdef
ファイル(あるいはその両方)を作成する必要があります。
1.5項「サポートされないSybaseデータ型」も参照してください。
DOUBLE
FLOAT
REAL
サポートの制限事項
浮動小数点数の範囲および精度のサポートはホスト・マシンによって異なります。通常は有効桁数が16桁の精度ですが、データベースのドキュメントで想定されている近似について確認してください。Oracle GoldenGateでは、サポートされる精度を超える値は丸められるか切り捨てられます。
CHAR
NCHAR
NVARCHAR
VARCHAR
UNICHAR
UNIVARCHAR
サポートの制限事項
これらのデータ型は、データベースでサポートされている最大長、すなわち最大ページ・サイズまでサポートされます。
Sybaseデータベースがターゲット、ソースが異種データベースで、ソースからターゲットにレプリケートする場合に、Sybaseのchar_length
またはdatalength
ファンクションを使用してNVARCHAR
レプリケーション結果をフェッチすると、データ整合性の問題が発生する場合があります。これは、Adaptive Server Enterprise 15.5 for Windows x64プラットフォームEBF 21262: 15.5 ESD #5.3より前のSybaseリリースを使用する場合に発生します。
BIGDATETIME
BIGTIME
DATE
DATETIME
SMALLDATETIME
TIME
サポートの制限事項
Oracle GoldenGateでは、0001/01/03:00:00:00から9999/12/31:23:59:59のタイムスタンプ・データをサポートします。タイムスタンプがGMTからローカル時間に変換されると、これらの制限は変換後のタイムスタンプにも適用されます。タイムゾーンに応じて、変換により時間が追加または引かれる場合があり、これにより、タイムスタンプがサポートされている上限を超えたり、下回ったりすることがあります。
Oracle GoldenGateでは、負の日付はサポートされていません。
BINARY
IMAGE
TEXT
UNITEXT
VARBINARY
サポートの制限事項
TEXT
、UNITEXT
およびIMAGE
は、最大2GBの長さまでサポートされます。
他のデータベースからレプリケートされるラージ・オブジェクト(Oracle BLOB
およびCLOB
など)は、SybaseのCHAR
列、VARCHAR
列、BINARY
列およびVARBINARY
列にマップすることができます。レプリケートされたラージ・オブジェクトがターゲット列のサイズより大きい場合にReplicatの異常終了を回避するため、Replicatパラメータ・ファイルでDBOPTIONS
パラメータをALLOWLOBDATATRUNCATE
オプションと合せて使用します。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。
空のLOB
列が許可されているソース・データベースから、Sybaseのターゲットにデータを移動する場合は、Replicatパラメータ・ファイルでDBOPTIONS
パラメータをEMPTYLOBSTRING
オプションと合せて使用します。このパラメータは文字列値を受け入れ、Replicatによってターゲット列がNULL
(Sybaseで許可されていない値)に設定されないようにします。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。
ソース表に同一の行が複数含まれていると、ターゲット表内でLOB
の不整合が生じるおそれがあります。ソース表に主キーまたは他の一意の行識別子がない場合に、このような不整合が生じす。これらの列はReplicatによってターゲットに挿入されますが、以降のソース操作でLOB
データが更新された場合、ターゲットに挿入された最初の行にのみレプリケートされます。
行内LOB列に対してNOT NULL
制約を使用しないでください。NOT NULL
制約を使用する必要がある場合は、行外LOB列に対して使用してください。
行内LOBデータを表から直接フェッチする必要がある場合は、FETCHCOLS/FETCHMODCOLS
を使用する必要があります。
Oracle GoldenGate for Sybase 15.7では、行内LOB列のレプリケーションはサポートされていません(ただし、Replicatデータベース内の行内LOB列にデータをプッシュすることはできます)。つまり、レプリケーションに含める表に行内LOB列が存在していてはなりません。レプリケーション表に行内LOB列が含まれている場合、Oracle GoldenGateは異常終了します。行内LOBのサポートが必要な場合は、追加情報についてOracleサポートにお問い合せください。
この項では、Oracle GoldenGateでサポートされないSybaseデータ型を示します。
TIMESTAMP
データはサポートされていません。タイムスタンプ列は、データベースによって自動的に移入されるため、Oracle GoldenGateから除外する必要があります。レプリケートされたタイプスタンプ値をReplicatが適用しようとすると、ターゲットでエラーとなります。タイムスタンプ列がOracle GoldenGateにキャプチャされないようにするには、TABLE
パラメータのCOLSEXCEPT
オプションを使用します。システムによってタイプスタンプが作成されるため、ソース値とターゲット値が異なります。
Java rowobject
データ型はサポートされていません。
この項では、Oracle GoldenGateでサポートされるデータ操作およびデータベース・オブジェクトを示します。
Oracle GoldenGateは、最大長512KBの行を含むSybaseの表に対する挿入、更新、削除操作の抽出およびレプリケーションをサポートしています。
Oracle GoldenGateでは、データベースでサポートされる表ごとの列の最大数および最大サイズがサポートされます。
Oracle GoldenGateは、遅延挿入、遅延間接挿入、遅延更新および遅延削除をサポートしています。遅延更新を使用すると、ターゲット上の影響のあるSQLに対して主キーの制約違反が生じる可能性があります。これらのエラーが発生した場合は、ReplicatのパラメータHANDLECOLLISIONS
を使用します。
Oracle GoldenGateは、影響のある表の名前がすべてのスキーマにおいて一意である場合、TRUNCATE TABLE
をサポートします。表名がすべてのスキーマにおいて一意でない場合は、それらの表に対してIGNORETRUNCATES
パラメータを使用して、Replicatの異常終了を回避します。
Oracle GoldenGateは、ExtractおよびReplicatによるGETTRUNCATES
とIGNORETRUNCATES
をサポートしています。
Oracle GoldenGateは、システム暗号化パスワードを使って暗号化されたデータをサポートしています。
Oracle GoldenGateは、FETCHBATCHSIZE
パラメータによって制御される、初期ロード時の配列のフェッチをサポートしています。
Oracle GoldenGateのBATCHSQL
Replicat機能は、次のプラットフォームのASE 15.7 SP110以上でサポートされています。
AIX
Linux x64
Sun Solaris SPARC
Sun Solaris x64
Windows x64
Sybase固有のパラメータsybIgnoreConvError
は、BatchSQL
機能ではサポートされていません。特定のシナリオで、CS_NUMERIC
およびCS_DECIMAL
データ型は、Sybase固有のCTライブラリのバグにより、BatchSQL
でサポートされていません。LOB
データ型もBatchSQL
でサポートされていません。
計算結果列に関する制限事項
Oracle GoldenGateは、永続化計算結果列を完全にサポートします。変更値はトランザクション・ログに含まれ、証跡にキャプチャできます。
行内LOB列に対してNOT NULL
制約を使用することはできません。NOT NULL
制約を使用する必要がある場合は、行外LOB列のみで行います。
Oracle GoldenGateは、非永続化計算結果列を持つ表をサポートしますが、これらの列の変更データをキャプチャしません。データベースが、これらの列の変更データをトランザクション・ログに書き込まないためです。非永続化計算結果列のデータをレプリケートするには、TABLE
パラメータのFETCHCOLS
またはFETCHMODCOLS
オプションを使用して表から列データをフェッチします。列がデータベースで変更された時点と処理されるトランザクション・レコードに対するデータをExtractでフェッチする時点でデータ値が異なることで、不整合が生じることがあることに注意してください。
その列のデータが証跡にあった場合でも、ReplicatはDMLを計算結果列に適用しません。データベースがこの種の列のDMLを許可しないためです。ソース永続化計算結果列またはフェッチされた非永続化結果列のデータは、計算結果列ではないターゲット列に適用できます。
初期ロードでは、データはすべて、トランザクション・ログからではなくソース表から直接選択されます。したがって、初期ロードで、非永続化計算結果列も含め、すべての列のデータ値が証跡に書き込まれるか、またはターゲットに送信されます。どちらになるかは、使用されているメソッドによって決まります。ただし、変更データの適用時に、Replicatは初期ロード・データを計算結果列に適用しません。データベースが、この種の列のDMLを許可しないためです。
Oracle GoldenGateは、キー列、索引列として定義されているか、TABLE
文またはMAP
文のKEYCOLS
句に含まれている永続化計算結果列を使用しません。一意キーまたは索引に計算結果列が含まれ、Oracle GoldenGateがそのキーを使用する必要がある場合、計算結果列は無視されます。また、一意キーまたは索引に計算結果列が含まれ、表の唯一の一意識別子である場合、Oracle GoldenGateは、計算結果列以外のすべての列をターゲット行を見つけるための識別子として使用します。したがって、キーまたは索引に計算結果列が含まれ、残りの列に一意性がない場合、データの整合性に影響します。Sybaseでは、非永続化計算結果列はキーの一部としてサポートされず、Oracle GoldenGateでもサポートされないことに注意してください。
Oracle GoldenGateがTRUNCATE TABLE
をサポートするには、すべての表名が特定のデータベース内のすべてのスキーマで一意である必要があります。
この項では、Oracle GoldenGateでサポートされないデータ操作およびデータベース・オブジェクトを示します。
ユーザー定義パスワードを使って暗号化されたデータ。
DDL (データ定義言語)操作の抽出またはレプリケーション。
マルチExtract構成。Sybaseトランザクション・ログの読取りのためのコンテキストを保持できるのは、1つのExtractのみです。
SHOWSYNTAX
はDYNSQL
モードでサポートされるため、NODYNSQL
は非推奨です。
アンダースコアの後に文字、その後に空白(例: zzz_j
)のあるデータが含まれる表名は、サポートされていません。Oracle GoldenGateでは、GGSCI、DEFGEN
、EXTRACT
またはREPLICAT
を含む、この型の文字列を含むレコードを処理できません。また、この型のデータをOracle GoldenGateワイルドカード(*)と一緒に使用することはできません。この型のデータを表名に使用する場合は、この種類の表名をデータベースから削除する必要があります(アプリケーションが再起動され、Oracle GoldenGateワイルドカードが処理および適用されます)。