この章では、Oracle GoldenGate Veridataのインストールおよび実行についてサポートされているデータベースおよびシステム要件について説明します。
この章の内容は次のとおりです。
Oracle GoldenGate VeridataではOracle GoldenGateレプリケーション・ソフトウェアのインストールは不要です。そのソフトウェアを使用する場合、Oracle GoldenGate Veridataを別の場所にインストールします。
Oracle GoldenGate Veridataでは、比較用に次のデータベースがサポートされています。
DB2 LUWおよびz/OS
Enscribe
Oracle
NonStop SQL/MP
SQL Server
Sybase Adaptive Server Enterprise (ASE)
Teradata
現在サポートされているデータベース・バージョンおよびオペレーティング・システムの一覧は、http://support.oracle.comにあります。
比較対象のデータが含まれるデータベース・インスタンスごとに1つのOracle GoldenGate Veridataエージェントをインストールする必要があります。したがって、少なくとも2つ(ソース行の取得用とターゲット行の取得用)のエージェントをインストールします(同じデータベース・インスタント内のデータの比較ではない場合)。1つのエージェントで指定したデータベース・インスタンス内の複数のデータベースまたはスキーマから行を取得できます。ただし、1つのエージェントで異なるデータベース・インスタンスから行は取得できません。
マルチバイト・データの比較
マルチバイト・データを含む表を比較する場合、次のような考慮が必要です。
CエージェントのみのNonStop以外は、すべてのプラットフォームでJavaエージェントを使用します。
Javaエージェントでは、文字データの比較にUTF-8文字を使用します。同期していないデータはUTF-8文字セットを使用してレポート・ファイルに書き込まれます。
Oracle GoldenGate Veridata Oracle Cエージェントは、ソースとターゲットが同じ文字セットを使用し、ホスト・システムが同じバイト順序を使用するOracleデータベース間の比較に使用できます。Oracle CエージェントはJavaエージェントとの比較には使用できません。有効なUTF-8文字以外の文字を含む文字フィールドは、非同期レポートで16進数で表示されます。
Oracle GoldenGate Veridataは、次のデータベースにJavaベースのエージェントを提供します。
DB2 LUWおよびZ/OS
Oracle
SQL Server
Sybase ASE
Teradata
JavaエージェントはJDBC(Java Database Connectivity)を使用してデータベースに接続します。Javaエージェントを使用すると、Oracle GoldenGate Veridataは類似はしているが同じではないデータ型が含まれる異種環境での比較をサポートできます。Javaエージェントを使用すると、1つの実行可能ファイルで多くのオペレーティング・システムおよびデータベースがサポートされます。
Javaエージェントは、データベースを実行中のシステムと同じシステム、または別のシステム(Oracle GoldenGate Veridataサーバーをインストールしたシステムなど)にインストールできます。エージェントのインストール場所を検討する際は、エージェントがデータベースからリモートにある場合は、発生するネットワーク帯域幅の追加および大幅な使用とエージェントを実行中でない場合のデータベース・ホスト上のリソース処理の節約を比較検討します。
UNIXおよびLinux、サポートされている全データベース
UNIXおよびLinuxシステム上ではJava環境が必要です。Sun Webサイトから、Java Software Developer's Kit (JSDK)またはJava Runtime Environment (JRE)のいずれかをダウンロードしてインストールします。Oracle GoldenGate Veridataのパフォーマンスの点から、バージョン1. 6および1.6_24以上のJavaが推奨されます。
DB2
TCP/IPポートを構成し、アクティブにしておく必要があります。
Oracle
リスナーが構成され、実行されている必要があります。
SQL Server
静的TCP/IPポートを構成し、有効化しておく必要があります。
Sybase
ASEリスニング・ポートを認識します。
Teradata
データベースのホスト名とポート番号を調べておきます。
適切なJDBCドライバをデータベースのベンダーのWebサイトからダウンロードしてから、Javaエージェントをインストールします。このガイドのインストール手順中の場所が要求されます。
Oracle GoldenGate Veridataには、次のデータベースに対するCコード・ベースのエージェントも用意されています。
Cエージェントは、NonStopプラットフォーム上で実行中のNonStop SQL/MPおよびEnscribeデータベースに必要です。このエージェントはGuardian環境にインストールできます。
CエージェントはOracleデータベースに対してサポートされていますが、リリース11.2.1.0.0以降は機能の拡張は行われません。
Cエージェントはデータベースをホストするシステムと同じシステム上にインストールする必要があります。
Oracleの場合は、動的にリンクしたCエージェントを使用できます。このエージェントを使用する場合は、次の環境変数を設定する必要があります。
動的にリンクしたCエージェントの環境変数
| 変数 | オペレーティング・システム |
|---|---|
|
|
Microsoft Windows |
|
|
HP-UX |
|
|
IBM AIX |
|
|
その他のすべてのサポートされているUNIXプラットフォーム |
Oracle GoldenGate Veridataエージェントのディスク領域要件はプラットフォームによって異なりますが、最大200MBが必要です。UNIXおよびLinuxの場合は、Java環境にインストールするには追加領域が必要です(インストールされていない場合)。
処理リソースの主なコンシューマは比較中に必要な行ソート操作です。パフォーマンスを改善するには、キーとして使用する列がネイティブな一意の索引または主キーでない場合は、データベース内の一時メモリー領域を増やす必要があります。Oracle GoldenGate Veridataを構成する際にキーとして使用する列を指定します。
データベース・ソートではなくサーバー側ソートを使用すると、行、定義済み索引、使用するキーの数およびデータベースのチューニング方法に応じて、データベース・サーバーの負荷が減り比較パフォーマンスが改善されます。2.4.2項「サーバー・コンポーネントのディスクおよびメモリー要件」を参照してください。
Oracle GoldenGate Veridataエージェントはデータベース・ログインを使用するため、比較を実行する前に作成しておく必要があります。Oracle GoldenGate Veridata Webインタフェースに接続オブジェクトを作成する際は、ログインとパスワードを入力します。データベース・ユーザーに必要なデータベース権限は、次のとおりです。
Oracle GoldenGate Veridataエージェントに必要なデータベース権限
DB2
比較する表上でのSELECT権限。
Oracle
GRANT CONNECT
比較する表上でのGRANT SELECT権限。GRANT SELECT ANY TABLEが推奨されますが、必須ではありません。
SELECT_CATALOG_ROLE
SQL/MPシステム・カタログへの読取りアクセス(CATALOGS表への問合せ用)。
Oracle GoldenGate Veridataで使用するSQL/MPカタログへの読取りアクセス。
Oracle GoldenGate Veridataで使用するDDLディクショナリへの読取りアクセス。
比較するEnscribeおよびSQL/MP表への読取りアクセス。
Oracle GoldenGate Veridataレポート・ファイルおよびトレース・ファイルの読取り、書込み、作成、パージ権限およびインストールされているサブボリュームへのアクセス権限。
SQL Server
比較する表上のdb_datareaderまたは同等のもの。
比較するデータベース内のVIEW DEFINITION。
データベースではSQL Server認証を使用できる必要があります。
Sybase ASE
比較するデータベースへのアクセス権。
比較する表上でのSELECT権限。
サーバーで使用可能なデータベースのリストを表示するためのマスター・データベース内のsysdatabasesシステム表上でのSELECT権限。
Teradata
比較する表上でのSELECT権限。
この項では、Oracle GoldenGate Veridataサーバーのインストール場所、追加プログラム、ディスク、メモリーおよびリポジトリの要件について説明します。
サーバー・コンポーネントおよびWebユーザー・インタフェース・コンポーネントは、1つのインストール・プログラムからWindows、UNIXおよびLinuxシステムにインストールされます。インストーラにはこれらのプログラムの実行に必要なファイルがすべて含まれています。1つのインストールをサポートされているすべてのデータベース間の比較に使用できますが、必要に応じて複数のインストールを使用できます。
NonStopシステム上にはサーバー・コンポーネントまたはWebユーザー・インタフェース・コンポーネントをインストールしないでください。NonStopデータベース用Oracle GoldenGate Veridataを使用するには、次のようにします。
サーバー・コンポーネントおよびWebユーザー・インタフェース・コンポーネントを、サポートされているWindows、UNIX、またはLinuxシステムにインストールします。
このシステムで高速ネットワーク接続を使用してNonStopシステムへアクセスできることを確認します。
サーバー・コンポーネントは基本タスクに約200MBの固定仮想メモリーを使用します。残りの仮想メモリーは比較に使用されます。Oracle GoldenGate Veridataマシン上の処理リソースの主なコンシューマは、サーバー側ソートを使用する際の初回比較手順の行ソート操作です。
ソース・システムおよびターゲット・システムから比較用に送信されるすべての行を格納するには、十分なディスク領域と仮想メモリーの組合せが必要です。行ごとのメモリー量の見積手順:
((number of cols in key + 1) * 4) + 16 + (comparison width of a key col)
条件:
comparison width of a key colは、Oracle GoldenGate Veridata(またはユーザー上書き)が比較で使用するために選択する比較形式によって異なります。
比較形式データ・サイズ:
| 比較形式 | データ・サイズ |
|---|---|
|
数値 |
有効桁ごとに1バイト。先頭のゼロおよび小数点以下の末尾のゼロ(1234.500の右端のゼロ)は数えません。 |
|
タイムスタンプ |
端数の精度に応じて19バイトから32バイト。 |
|
日付 |
10バイト。 |
|
時間 |
端数の精度に応じて8バイトから18バイト。 |
|
文字列 |
JavaエージェントのUTF-8エンコーディングの場合、1文字当たり1バイトから4バイト。NonStopエージェントとOracle Cエージェントはネイティブ文字セットを使用します。 |
|
バイナリ |
データベースに格納されているバイト。 |
たとえば、浮動小数点として比較する場合、数109998877に必要なバイト数は次のようになります。
この行のメモリー: ((1 + 1) * 4) + 16 + 9 = 33バイト
|
注意: ここでは、すべての非キー列はリテラルではなくハッシュを使用して比較されることが前提となります。リテラル比較の場合、必要なメモリー量は増えます。 |
Oracle GoldenGate Veridataでは、データのソートに外部マージ・ソートを使用します。エージェントからデータを受け取ると、行がメモリー内でソートされます。メモリー・バッファが一杯になると、行はディスクに書き込まれます。
データをソートするために、ソート・プロセスは、初期データ・セット・サイズを一時記憶領域に合せます。必要な一時領域のサイズは、行の数、行サイズおよび使用可能なソート・メモリーの量によって決まります。次に、使用可能なリソースに応じたソートの各種モードを示します。
メモリー内ソート: データを完全にメモリー内でソートします。最も速い方法ですが、メモリー要件が使用可能なメモリーの量を超える可能性があります。ソート・メモリーは、データ・セットのサイズの約2.5倍必要です。
1ディスク・パス: データをソートし、ディスクに1回のみ書き込みます。データ・セットのサイズと同じソート・ディスク領域が必要です。このプロセスはメモリー内ソートと同程度の速さで、メモリー要件は低くなります。Oracle GoldenGate Veridataサーバーは、通常エージェントがデータベースから行を読み取るよりも速く行をディスクに書き込むことができます。
2ディスク・パス: 2回ソートし、ディスクに書き込みます。データ・セットの2倍のソート・ディスク領域が必要です。ディスク要件は高くなりますが、非常に大規模なデータ・セットを適度なメモリー量でソートできます。
3回以上のディスク・パス: エージェントから行をすべて受け取った後、最終的なディスクへの書込みの準備のために追加のソートが必要な場合があります。ディスクへのアクセスが3回以上必要な場合、必要なソート領域はデータ・セット・サイズの3倍以上になります。これは遅いため、使用しないようにします。
次の表に、いくつかのサンプル・データ・セットのメモリー要件を示します。
| データ・セット・サイズ | メモリー内ソート | 1ディスク・パス | 2ディスク・パス |
|---|---|---|---|
|
20MB |
50MB |
適用外 |
適用外 |
|
400MB |
1GB |
50MB |
適用外 |
|
2GB |
5GB |
125MB |
50MB |
|
8GB |
20GB |
250GB |
50MB |
|
50GB |
125GB |
600MB |
80MB |
|
注意: 前述の表の数値は、比較の一方のみを対象としています。双方を対象とすると、この2倍の割当てが必要です。 |
この割当てを超える場合は、処理の第2の手順である確認手順中に行を格納するメモリーが必要です。レプリケーション待機時間が非常に長い場合と同じように、確認が必要な行数が非常に多い場合は最大20MBになります。これらの行は確認前にメイン・メモリーでステージングされます。
このソートは、初回比較手順中に格納する必要があるすべてのデータをメイン・メモリーに格納できる場合はパフォーマンスは良くなります。64ビット・システムの場合は、より多くのメモリーを処理できるため、より多くのデータを遅いディスク・デバイスではなくメイン・メモリーに格納できます。必ずしも初回の比較手順で使用されるメモリーが一度ですべてリリースされ、比較手順で使用できるわけではありません。したがって、メモリーの一部はプロセス間で共有されます。ソートがメモリーにすべての行を格納できない場合は、ディスク・ストレージが使用されます。
割り当てるメモリー量を決定する際は、Oracle GoldenGate Veridataアプリケーション内のパラメータ設定で管理できるような次の方法を認識しておいてください。
一時領域は比較的速いファイル・システムに配置します。リモート・サーバー上のネットワーク・ファイル・システムでは比較処理が遅くなる可能性があります。
プロファイル設定で複数の一時ディレクトリを指定すると、ディスクのI/Oパフォーマンスを上げることができます。メリットを最大にするには、ディレクトリを別の物理ディスクに格納します。
プロファイル設定で、各処理手順に割り当てられているメモリー量を制御できます。
プロファイル設定を使用して、指定の非同期行数後確認手順を終了させてリソース制限に対処できます。
追加メモリーのプロパティはサーバー・パラメータで制御できます。第11章「Oracle GoldenGate Veridataサーバー構成パラメータ」を参照してください。
Oracle GoldenGate Veridataサーバーには、ユーザーがOracle GoldenGate Veridata Webを使用する際に作成する情報プリファレンスおよび環境プリファレンスを格納するオブジェクトのリポジトリとしての役目を果たすデータベースが必要です。次のデータベースは、リポジトリとして使用できます。
MySQL
Oracle
SQL Server
Oracle GoldenGate Veridataサーバーをインストールする際、インストーラでリポジトリのデータベース(Oracleを使用する場合はスキーマ)を作成することも、リポジトリ・オブジェクトを既存のデータベースまたはスキーマにインストールすることもできます。
リポジトリはサーバー・コンポーネントおよびWebコンポーネントと同じシステム上のデータベースにインストール、または複数層構成の別のシステムにインストールできます。複数層インストールの場合は、次のようにホスト間の通信を有効化します。
MySQLデータベース・リポジトリを使用するには、必要なすべてのMySQLクライアント・ソフトウェアをサーバー・コンポーネントおよびWebコンポーネントとともにインストールします。
Oracleデータベース・リポジトリをWindows、UNIXまたはLinuxシステム上にインストールしたOracle GoldenGate Veridataサーバー・コンポーネントおよびWebコンポーネントと一緒に使用するには、Oracleクライアント・ソフトウェアをサーバー・コンポーネントおよびWebコンポーネントとともにインストールします。Oracle GoldenGate Veridataでは、TNSNAMESおよびEZCONNECTの接続ネーミング・メソッドがサポートされています。
TNSNAMESを使用するには、リポジトリをインストールするデータベース・インスタンスを、tnsnames.oraファイルおよびlistener.oraファイルに含める必要があります。TNSNAMESが、データベース・システム上のsqlnet.oraファイルのNAMES.DIRECTORY_PATHパラメータの値のいずれかであることを確認します。
EZCONNECTを使用するには、データベース・サーバーの名前またはIPアドレス(オペレーティング・システムで要求される場合は、ドメイン修飾)、データベース・リスニング・ポート番号およびデータベースのインスタンス名をインストール・プログラムに指定する必要があります。
別のシステムにインストールされたサーバー・コンポーネントおよびWebコンポーネントとともにSQL Serverデータベース・リポジトリを使用するには、どちらのシステムもDNSに登録されていることを確認します。
インストール中に、リポジトリの更新時に使用するOracle GoldenGate Veridataのユーザー(またはログイン)およびパスワードが要求されます。インストール・プログラムを実行する前に必要な権限を有するユーザーを作成、またはインストール・プログラムで必要な権限を有するユーザーを作成できます。このユーザーをOracle GoldenGate Veridata専用にします。
Oracle GoldenGate Veridataインストール・プログラムでこのユーザーを作成するには、管理者またはDBAユーザーおよびパスワードが必要です。このユーザーはこの用途のみに使用され、Oracle GoldenGate Veridata構成には保持されません。
インストーラ以外でユーザーを作成する場合は、リポジトリ内の表を作成、更新、または削除する次の権限を付与します。インストールで使用するユーザー情報を用意しておきます。
Oracle GoldenGate Veridataサーバーに必要なデータベース権限
MySQL
ユーザーおよび同じ名前のデータベースを作成します。
このユーザーがOracle GoldenGate VeridataがインストールされているホストからMySQLサーバーに接続する場合、そのデータベースのすべてのDDL権限とDML権限をユーザーに付与します。
Oracle
ユーザーおよびパスワードを作成します。
VERIDATA_ROLEという名前のデータベース・ロールを作成します。
VERIDATA_ROLEに次の権限を付与します。
CREATE SESSION
CREATE TABLE
CREATE VIEW
CREATE PROCEDURE
CREATE SYNONYM
ユーザーにVERIDATA_ROLE権限を付与します。
ユーザーのデフォルト表領域にQUOTA UNLIMITEDを指定します。
SQL Server
リポジトリをインストール中のデータベースのユーザーであるデータベースおよびログインを作成します。
このログインに、次の操作を実行するための十分な権限を付与します。
データベースへのCONNECT
データベース内でのCREATE、ALTER、DROP TABLE
データベース内でのCREATEおよびDROP INDEX
データベース内の表からのINSERT、UPDATE、DELETE
データベース内の表からのSELECT
ログインのデフォルト・スキーマのALTER SCHEMA
インストール中、次のコンポーネントが要求されます。インストールで使用するこの情報を用意しておきます。
Oracle GoldenGate Veridataサーバーに必要な環境コンポーネント
MySQL
データベースのホスト名および番号。
リポジトリの既存のデータベース・ユーザーを使用する場合は、ログインおよびパスワード。
Oracle
データベース・インスタンス名
ORACLE_HOME (TNSNAMES接続メソッドを使用する場合)
リポジトリのデフォルトおよび一時表領域(インスト−ル中にサーバー・コンポーネントに新規ユーザーを作成する場合)
データベース・インスタンスのホスト名、ポート番号およびサービス名(EZCONNECT接続メソッドを使用する場合)
リポジトリの既存のデータベース・ユーザーを使用する場合は、ログインおよびパスワード。
SQL Server
ODBCデータ・ソース名(DSN)。システムDSNである必要があります。DSNはOracle GoldenGate Veridataをインストールする前またはインストール中に作成できます(要求されます)。システム管理者は、「管理ツール」コントロール・パネルの「データ ソース(ODBC)」アプレットからDSNを作成できます(基本的な手順については、付録C「SQL ServerリポジトリへのODBC接続の構成」を参照してください。)SQL Serverクライアントはすべて使用できます。
静的ポート番号を使用するようSQL Serverインスタンスを構成する必要があります。このポートは構成ファイルに格納されるため、データベースへJDBC接続する際に参照できます。
リポジトリの既存のデータベース・ユーザーを使用する場合は、ログインおよびパスワード(または統合認証)。
この項では、Oracle GoldenGate Webユーザー・インタフェースに推奨される(あるいは必要な)Javaパッケージ、ブラウザ、画面の解像度、セキュリティおよびポートについて説明します。
2.4.1項「サーバー・コンポーネントの場所」を参照してください。1つのインストール・プログラムでOracle GoldenGate Veridata Webサーバー・コンポーネントとOracle GoldenGate Veridata Webユーザー・インタフェースの両方がインストールされます。
UNIXおよびLinux以外では、インストール・パッケージに必要なJavaランタイム環境(JRE) 1.6.xが含まれ、メインOracle GoldenGate Veridataインストール内のJREディレクトリにインストールされます。Webクライアントを正常に実行させるために、このJRE環境は変更しないでください。
Oracle GoldenGate Veridata WebアプリケーションはApache Tomcat Webサーバーと対話します。Tomcatはデフォルト・ポート上にOracle GoldenGate Veridataサーバーとともにインストールされます。必要に応じてポート番号を変更できます(付録B「Oracle GoldenGate Veridata Webポート番号の変更」を参照)。
Oracle GoldenGate Veridata Webでは次のデフォルト・ポートが使用されますが、インストール中に変更できます。
8820: シャットダウン・ポート
8830: HTTPポート
その他のポート番号はデフォルトで使用します。これらのポート番号は、付録B「Oracle GoldenGate Veridata Webポート番号の変更」の手順に従ってインストール後に変更できます。
クラスタ化されたキーがあるSQL/MP表の、主キーの一番右の部分はファイル・システムによって追加されたタイムスタンプです。そのような表で構成された比較ペアの場合、タイムスタンプはソース・システムとターゲット・システムで異なります。そのため、比較から除外する必要があります。Oracle GoldenGate Veridataはキーを比較して正しい行が比較されるようにするからです。
キーのタイムスタンプ部分を除外後、残りのキー列が一意のキー値を生成しない場合は、それらの表に一意値の作成を指定できる一意の索引またはその他の列を含める必要があります。そうしないと、Oracle GoldenGate Veridataで比較できません。