この章では、Oracle GoldenGateをサポートするシステムおよびデータベース・リソースの要件について説明し、次の各項で構成されます。
Oracle GoldenGate for PostgreSQLは、他のタイプのデータベースからPostgreSQLデータベースへのデータのマッピング、操作、フィルタリングおよび配信をサポートします。Oracle GoldenGateは、PostgreSQLから他のPostgreSQLデータベースへ、または他の種類のデータベースへのデータの取得をサポートしません。
サポートされているハードウェアまたはソフトウェア構成で製品をインストールしていることを確認します。詳細は、「Oracle Fusion Middleware Supported System Configurations」ページのリリースの動作保証に関するドキュメントを参照してください。
Oracleでは、動作保証済のすべてのシステムおよび環境で製品のパフォーマンスをテストおよび検証しており、新しい動作保証情報が発表された場合は、適切な動作保証ドキュメントにすぐに追加されます。新しい動作保証情報は常に発生する可能性があるため、動作保証ドキュメントはドキュメント・ライブラリの外部に保持され、Oracle Technology Networkで利用できます。
この項では、ターゲットPostgreSQLデータベースのホスト・オペレーティング・システムで機能するために必要なOracle GoldenGateの要件について説明します。
Oracle GoldenGateに必要なメモリーの量は、動作する同時プロセスの数によって異なります。PostgreSQLのターゲット・システムには最低でも、レプリケートされたデータをターゲット・データベースに適用する1つ以上のReplicatプロセスがあります。PostgresSQLターゲットに適用するデータの量またはタイプに応じて、追加のReplicatプロセスを判定できます。Oracle GoldenGateでは、Oracle GoldenGateのインスタンスごとに同時プロセスが最大5,000個サポートされます。各プロセスでは、約25-55 MB
のメモリーが必要であり、トランザクションのサイズと同時トランザクション数によってはそれ以上のメモリーが必要です。
Oracle GoldenGateプロセスによって使用される物理メモリーの実際の量は、Oracle GoldenGateプログラムではなく、オペレーティング・システムによって制御されます。Oracle GoldenGateキャッシュ・マネージャは、オペレーティング・システムのメモリー管理機能を利用して、Oracle GoldenGateプロセスを持続的かつ効率的に機能させます。Oracle GoldenGateのメモリー要件を求めるには、WindowsおよびUNIX用のOracle GoldenGateのリファレンス・ガイドのCACHEMGR
パラメータの説明を参照してください。
プラットフォームに応じて、50-150 MB
。これには圧縮されたダウンロード・ファイル用の領域と、圧縮されていないファイル用の領域が含まれます。ダウンロード・ファイルは、インストールの完了後に削除できます。
システムにインストールするOracle GoldenGateの各インスタンスの作業ディレクトリおよびバイナリ用に40MB
。たとえば、Oracle GoldenGateの2つのビルドを2つの別々のディレクトリにインストールするには、80 MB
の領域を割り当てます。
Oracle GoldenGateをクラスタ環境にインストールするには、すべてのクラスタ・ノードで使用できる共有ファイル・システムにOracle GoldenGateのバイナリおよびファイルをインストールします。
Oracle GoldenGateの証跡(作業データが含まれているファイル)を含むディスク領域として、追加の1GB
。証跡によって消費される領域は処理されるデータ量に応じて異なるため、これとは多少異なる容量が必要となる場合があります。Oracle GoldenGate Oracle GoldenGateの管理for Windows and UNIXで証跡のサイズ設定のガイドラインを参照してください。
証跡アクティビティがビジネス・アプリケーションによって干渉されないようにするには、別個のディスクまたはファイル・システムを割り当てて証跡ファイルを含めます。証跡ファイルは累積されますが、PURGEOLDEXTRACTS
パラメータで設定されるルールに従ってパージできます。証跡ファイルは、Oracle GoldenGateインストールのローカル・ドライブに配置することも、NASまたはSANデバイスに配置することもできます。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ポートを介した接続を受け入れるようにファイアウォールを構成します。
UNIXでインストールするには、Oracle GoldenGateをインストールするユーザーに、Oracle GoldenGateインストール・ディレクトリの読取りおよび書込み権限が必要です。
Oracle GoldenGateプロセスは、Oracle GoldenGateディレクトリのファイルおよびサブディレクトリに対して、読取り権限、書込み権限および削除権限を持つオペレーティング・システム・ユーザーとして動作する必要があります。また、ManagerプロセスにはOracle GoldenGateプロセスを制御するための権限が必要です。
Oracle GoldenGateオペレーティング・システム・ユーザーをOracle GoldenGate専用にします。Oracle GoldenGateプロセスを実行するユーザーから機密情報にアクセスされる可能性があります。
Microsoft Itaniumシステム上にOracle GoldenGateをインストールするには、vcredist_IA64.exe
ランタイム・ライブラリ・パッケージをインストールする必要があります。このパッケージはMicrosoft Webサイトからダウンロードできます。このパッケージには、Oracle GoldenGateがItaniumプラットフォーム上で動作するために必要なVisual Studio DLLが含まれています。これらのライブラリをインストールしない場合、Oracle GoldenGateによって次のエラーが生成されます。
"The application failed to initialize properly (0xc0150002). Click on Ok to terminate the application.
オペレーティング・システムとコマンド・コンソールのキャラクタ・セットが同じである必要があります。オペレーティング・システムではあるキャラクタ・セットが設定され、DOSコマンド・プロンプトでは別の古いDOSキャラクタ・セットを使用するMicrosoft Windowsシステムでは不一致が起こります。Oracle GoldenGateでは、オペレテーィング・システムのキャラクタ・セットを使用してGGSCIコマンド出力に情報を送信するため、コンソールのキャラクタ・セットの不一致が原因で文字が正しく表示されません。次のDOSコマンドを使用して、GGSCIセッションを開く前にコンソールのキャラクタ・セットを設定できます。
chcp <OS character set>
コード・ページの設定後、文字が正しく表示されない場合、拡張文字セットを持つLucida Consoleにコンソール・フォントを変更してみます。
Oracle GoldenGateをWindowsシステムにインストールする前に、Microsoft Visual C ++ 2005 SP1再頒布可能パッケージをインストールおよび構成します。このパッケージのSP1バージョンであることを確認し、使用するサーバーに適合するビット・バージョンであることを確認してください。このパッケージでは、Visual C++ライブラリのランタイム・コンポーネントがインストールされます。詳細な情報と、このパッケージのダウンロードについては、次のページを参照してください。
Oracle GoldenGateは、すべてのプラットフォームの仮想化ソフトウェアで作成された仮想マシン環境を完全サポートします。仮想マシン環境にOracle GoldenGateをインストールする場合、ホスト・システムではなく仮想マシンのデータベースおよびオペレーティング・システムに適合するビルドを選択します。
この項では、Oracle GoldenGateがPostgreSQLターゲット・データベースに接続するための要件について説明します。
Oracle GoldenGate専用のデータベース・ユーザーを作成します。PostgreSQLデータベースに接続する必要のあるすべてのOracle GoldenGate Replicatプロセスでユーザーが同じでもかまいません。
データのセキュリティを維持したり、Oracle GoldenGateの処理を的確に監視したりするには、他のユーザー、アプリケーションまたはプロセスに対してOracle GoldenGateデータベース・ユーザーでのログインまたは操作を許可しないでください。
データベース・ユーザーを記録します。それらをOracle GoldenGateパラメータ・ファイルのUSERID
パラメータを使用して指定する必要があります。
このユーザーは、指定したODBCドライバを介してPostgreSQLデータベースに接続します。適切な手順に従って、インストール中にこのドライバをライセンスする必要があります。
PostgreSQLからのDML操作の取得(抽出)操作はサポートされていません。
DDL (データ定義言語)の操作はサポートされていません。
PostgreSQLの配列セマンティックはサポートされていません。
サポートされているデータ型とサポートされていないデータ型の詳細と、サポートの制限は、表1-1を参照してください。
表1-1 Oracle GoldenGateのPostgreSQLデータ型のサポート
名前 | 別名 | 説明 | サポート対象 |
---|---|---|---|
Bigint |
int8 |
符号付きの8バイト整数 |
はい |
Bigserial |
serial8 |
自動増分する8バイト整数 |
はい |
bit [(n)] |
|
固定長のビット文字列 |
はい |
bit varying [(n)] |
varbit [(n)] |
可変長のビット文字列 |
はい |
Boolean |
bool |
論理ブール値(true/false) |
はい |
Box |
|
平面上の長方形のボックス |
いいえ |
Bytea |
|
バイナリ・データ("バイト配列") |
はい |
character varying [(n)] |
varchar [(n)] |
可変長のキャラクタ文字列 |
はい |
character [(n)] |
char [(n)] |
固定長のキャラクタ文字列 |
はい |
Cidr |
|
IPv4またはIPv6のネットワーク・アドレス |
はい |
Circle |
|
平面上の円 |
いいえ |
Date |
|
カレンダ日付(年、月、日) |
はい |
double precision |
float8 |
倍精度の浮動小数点数(8バイト) |
はい |
Inet |
|
IPv4またはIPv6のホスト・アドレス |
はい |
Integer |
int, int4 |
符号付きの4バイト整数 |
はい |
interval [fields] [(p)] |
|
時間スパン |
はい |
Line |
|
平面上の無限の直線 |
いいえ |
Lseg |
|
平面上の線分 |
いいえ |
Macaddr |
|
MAC (Media Access Control)アドレス |
はい |
Money |
|
通貨金額 |
はい |
numeric [(p [,s])] |
decimal [(p [,s])] |
選択可能な精度の正確な数値 |
はい |
Path |
|
平面上の幾何学的な経路 |
いいえ |
Point |
|
平面上の幾何学的な点 |
いいえ |
Polygon |
|
平面上の幾何学的な閉じた経路 |
いいえ |
Real |
float4 |
単精度の浮動小数点数(4バイト) |
はい |
Smallint |
int2 |
符号付きの2バイト整数 |
はい |
Serial |
serial4 |
自動増分する4バイト整数 |
はい |
Text |
|
可変長のキャラクタ文字列 |
はい |
time [(p)] [without time zone] |
|
時刻(タイムゾーンなし) |
はい |
time [(p)] [with time zone] |
timetz |
時刻(タイムゾーンあり) |
はい |
timestamp [(p)] [without time zone] |
|
日時(タイムゾーンなし) |
はい |
timestamp [(p)] [with time zone] |
Timestamptz |
日時(タイムゾーンあり) |
はい |
Tsquery |
|
テキスト検索問合せ |
いいえ |
Tsvector |
|
テキスト検索文書 |
いいえ |
txid_snapshot |
|
ユーザーレベルのトランザクションIDスナップショット |
いいえ |
Uuid |
|
汎用一意識別子 |
はい |
Xml |
|
XMLデータ |
制限付き |
この項では、PostgresSQLをターゲット・データベースにするときのOracle GoldenGate配信サポートの制限事項について説明します。
PostgreSQLの配列タイプはサポートされていません。
文字データにU+0000
文字を含めることはできません。たとえばabc\0abc'は7文字のデータですが、真ん中にU+0000があるため使用できません。PostgreSQLでは、U+0000は無効な文字として処理されます。
timestamptz
データ型PostgreSQLのTIMESTAMP WITH TIME ZONE
列タイプはSQL_VARCHAR
として認識されるため、Oracle GoldenGateはPostgreSQLフォームに正規化せず、ソース・データベースのネイティブ形式でデータを書き込みます。そのため、複製されたタイムスタンプ・データの一部は、Oracle GoldenGateの列変換機能およびFILTER
句と互換性がない場合があります。
使用可能なタイムスタンプとタイムゾーン値の例を次に示します。
"2011-05-05 05:05:12-07", "2011-05-05 05:05:12-7", "2011-05-05 05:05:12-07:00", "2011-05-05 05:05:12-700"
この項では、PostgreSQLターゲット・データベースを操作するときのOracle GoldenGateの特定機能のサポートに対する制限事項について説明します。
SQLEXEC
SQLEXEC
は、PostgreSQL関数の実行には使用できませんが、SQLEXEC
を使用して、PostgreSQLデータベースに対する問合せを発行することができます。
LIMITROWS
を指定したDBOPTIONS
DBOPTIONS
パラメータのLIMITROWS
オプションは、PostgreSQLではサポートされていません。PostgreSQLには、UPDATE
またはDELETE
操作によって影響される行を制限する句がないためです。LIMITROWS
では、ターゲット表に主キーまたは一意キーが含まれていない場合に、同一のReplicat SQL文によって複数の行を更新または削除することを防ぎます。
NODYNSQL
パラメータNODYNSQL
は、出力不可能な文字またはText
データ型を除いてサポートされています。NODYNSQL
を使用すると、Oracle GoldenGateが異常終了します。
リバース・ユーティリティは、PostgreSQLではサポートされていません。
Oracle GoldenGateは、PostgreSQLでの配信のみサポートとします。ジョブまたはイベント・スケジューラを使用してハートビート表を移入または更新するメカニズムは不要です。
PostgreSQLには、内部イベントやジョブ・スケジューラが存在しないため、ALTER HEARTBEATTABLE
コマンドはサポートされません。
FREQUENCY
、PURGE_FREQUENCY
およびRETENTION_PERIOD
オプションを指定したADD HEARTBEATTABLE
コマンドはサポートされません。
PostgreSQLには、内部イベントやジョブ・スケジューラが存在しないため、ハートビート履歴表の自動パージはサポートされません。環境に応じて適切に、ハートビート履歴表を明示的に削除するか切り捨てる必要があります。