2 準備
- サポートされている比較用データベース
- 修理のためにサポートされている/サポートされていないデータベース
- 修理SQLのダウンロードのためにサポートされている/サポートされていないデータベース
- サポートされるデータ型
- Oracle GoldenGate Veridataエージェントのシステム要件
- Oracle GoldenGate Veridataサーバーのシステム要件
- Oracle GoldenGate Veridataディストリビューション
このトピックでは、Oracle GoldenGate VeridataファイルおよびCエージェントのファイルをダウンロードする方法について説明します。
2.1 サポートされている比較用データベース
Oracle GoldenGate Veridataでは、比較用に次のデータベースがサポートされています。
- Oracle、ADW、ATPおよびDBCS
- SQL Server
- MySQL、MariaDB (MySQL JDBC接続文字列およびドライバを使用)
- Teradata
- DB2 for i、DB2 LUW、およびDB2 z/OS
- Non Stop (EnscribeおよびSQL/MP)
- Sybase Adaptive Server Enterprise(ASE)
- PostgreSQL
動作保証されたデータベースのバージョンおよびオペレーティング・システムなど、Oracle GoldenGate Veridataのリリースの最新詳細は、My Oracle Support (http://support.oracle.com)を参照してください。
親トピック: 準備
2.2 修理のためにサポートされている/サポートされていないデータベース
Oracle GoldenGate Veridataでは、修理の機能を目的として次のデータベースがサポートされています。
- Oracle、ADW、ATP、DBCS
- SQL Server
- Teradata
- DB2 for i、DB2 LUW、およびDB2 z/OS
- Sybase Adaptive Server Enterprise(ASE)
- MySQL、MariaDB (MySQL JDBC接続文字列およびドライバを使用)
- Non Stop (Enscribe、SQL/MP)
- PostgreSQL
アップグレード前の要件、アップグレード処理、アップグレード後、互換性、修理および相互運用性に関する最新情報、ディスカッションおよびベスト・プラクティスが提供されています。動作保証されたデータベースのバージョンおよびオペレーティング・システムなど、Oracle GoldenGate Veridataの最新リリースの詳細は、My Oracle Support (http://support.oracle.com)を参照してください。
親トピック: 準備
2.3 修理SQLのダウンロードのためにサポートされている/サポートされていないデータベース
Oracle GoldenGate Veridataでは、修復SQL機能のダウンロードのために、次のターゲット・データベースがサポートされています。
- Oracle
- SQL Server
親トピック: 準備
2.4 サポートされるデータ型
- サポートされているデータ型 - Oracle
- サポートされているデータ型 - Oracle 23ai
- サポートされているデータ型 - SQL Server
- サポートされているデータ型 - PostgreSQL
- サポートされているデータ型 - MySQL、MariaDB
- サポートされているデータ型 - DB2 LUW
- サポートされているデータ型 - DB2 for i
- サポートされているデータ型 - DB2 z/OS
- サポートされているデータ型 - Sybase
- サポートされているデータ型 - Teradata
- 一般的な制限事項および説明
親トピック: 準備
2.4.1 サポートされているデータ型 - Oracle
Oracle GoldenGate Veridataでは、Oracleデータベースの次にリストされたデータ型がサポートされています。
- CHAR
- NCHAR
- VARCHAR2
- VARCHAR
- NVARCHAR2
- NUMBER
- DATE
- BLOB
- CLOB
- NCLOB
- LONG
- RAW
- LONG RAW
- ROWID
- BINARY_FLOAT
- BINARY_DOUBLE
- DATE
- TIMESTAMP
- TIMESTAMP WITH TIMEZONE
- TIMESTAMPWITHLOCALTIMEZONE
- UROWID
- XMLTYPE
- INTERVAL YEAR [(year_precision)] TO MONTH
- INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]
- FLOAT
- UDT
Oracleブール・データ型の場合
- Veridata数値比較形式を使用してサポートされるMySQLデータ型のマッピング: ブールおよび数値。
- Veridata文字列比較形式を使用してサポートされるMySQLデータ型のマッピング(制限あり): CharおよびVarchar。
- 制限: 大文字の値
TRUE
およびFALSE
のみが同期として扱われます。 - サポートされていないMySQLデータ型: BinaryおよびVarbinary
制限事項および説明:
オブジェクト型とコレクション型の両方のUDTがサポートされています
親トピック: サポートされるデータ型
2.4.2 サポートされているデータ型 - Oracle 23ai
Oracle GoldenGate Veridataでは、Oracle 23aiデータベースの次にリストされたデータ型がサポートされています:
- VECTOR
- BOOLEAN
親トピック: サポートされるデータ型
2.4.3 サポートされているデータ型 - SQL Server
Oracle GoldenGate Veridataでは、SQL Serverデータベースの次にリストされたデータ型がサポートされています。
- BIGINT
- BIT
- INT
- SMALLINT
- TINYINT
- DECIMAL
- MONEY
- SMALLMONEY
- NUMERIC
- FLOAT
- REAL
- CHAR
- NCHAR
- VARCHAR
- NVARCHAR
- TEXT
- NTEXT
- BINARY
- VARBINARY
- IMAGE
- DATE
- DATETIME
- DATETIME2
- SMALLDATETIME
- DATTIMEOFFSET
- TIME
- GEOGRAPHY
- GEOMETRY
- UNIQUEIDENTIFIER
- XML
SQL Serverデータ型からOracleデータ型への変換の詳細は、Database Gateway for SQL Serverユーザー・ガイドのデータ型変換を参照してください。
親トピック: サポートされるデータ型
2.4.4 サポートされているデータ型 - PostgreSQL
Oracle GoldenGate Veridataは、リストされているPostgreSQLのデータ型をサポートしています。
- Bit(n)
- Bit Varying(n)
- Boolean
- Char
- citext
- Varchar(n)
- Time with/without timezone
- 日付
- Interval
- Bigint
- Serial
- Smallserial
- Bigserial
- Numeric
- Decimal
- Money
- Real
- Double precision
- cidr
- inet
- macaddr
- macaddr8
- uuid
- text
- bytea (binary)
- xml
- smallint
- integer
- json
- jsonb
サポートされていないPostgreSQLデータ型
- arrays
- box
- circle
- composite型
- line
- lseq
- object識別子
- OID
- pg_lsn
- pseduo型
- Point
- path
- polygon
- range型
- tsvector
- tsquery
- enum
- domain
-
Veridata文字列比較形式を使用してサポートされるOracle/MySQLデータ型のマッピング: CharおよびVarchar
- サポートされていないOracle/MySQLデータ型: Binary、VarbinaryおよびNumber
サポートの制限事項
- Bit(n)/Bit Varying(n):
- 異種: ソース側として、Bit(n)/Bit Varying(n)はPostgreSQL以外のターゲット・データベースのcharacter型にしかマップできません。これは、ソース・データの先頭の"0"が修復中にターゲット・データベースで切り捨てられるためです(たとえば、ターゲットはnumber型)。
- 同種: なし。
- ネットワーク・データ型(inet、cidr、uuid):
- 異種: ソース側のchar/nchar/varcharなどのstringデータ型と、PostgreSQLターゲット側のinet/cidr/uuidなどのネットワーク・データ型は、すべて、ハッシュ列としかみなされません。
- 同種: なし。
- MAC/MAC8データ型:
- 異種: ソース側のchar/nchar/varcharなどのstringデータ型と、PostgreSQLターゲット側のmac/mac8などのデータ型はすべて、修復操作中は成功しますが、許容される形式が複数あっても常に1つの形式
xx:xx:xx:xx:xx:xx
(xxx:xxx:xxx:xxx or xx-xx-xx-xx-xx-xx
)で保存されます。したがって、ソース側とは異なる形式がある場合は、修復後に必ずOOSが示されます。 - 同種: なし。
- 異種: ソース側のchar/nchar/varcharなどのstringデータ型と、PostgreSQLターゲット側のmac/mac8などのデータ型はすべて、修復操作中は成功しますが、許容される形式が複数あっても常に1つの形式
- JSONBデータ型:
- 異種: ソース側のchar/nchar/varcharなどと、PostgreSQLターゲット側のjsonbなどのstringデータ型はすべて、jsonキー/値の順序を修復した後、元の順序で格納されません。したがって、次の比較ペア実行ではOOSになります。
- 同種: なし。
- Timestamp with timezone:
- 異種: PostgreSQLはタイムゾーン値をデータベースに保存していません。タイムゾーン値を持つタイムスタンプを挿入するときは常に、PostgreSQLはタイムスタンプをUTCに変換して挿入します。取得中、実際のタイムゾーンは不明です。これをoracleやsqlserverのように、完全なタイムスタンプをタイムゾーンとともに保存するDBと比較すると、常にOOSという結果になります。
- Time/Time with Timezone:
- 同種: PostgreSQL- PostgreSQL Time/Time with Timezoneデータ型の比較と修復は、time列が主キーである場合に矛盾が発生します。一部の行が比較と修復用に選択できない場合があります。
- Real:
- 異種: Oracle GoldenGate for Veridataは、FLOAT (Oracle)とREAL (PostgreSQL)の比較ペアをサポートできません。データベース内でのデータ型の内部表現が原因で、修復後に常にOOSになるデータがあります。代替ペアは、binary float (Oracle)とreal (PostgreSQL)およびfloat (Oracle)とnumeric (PostgreSQL)です。
- Realは、値を正確な数値としてデータベースに保存しませんたとえば、0.8は0.800000011920929として格納されます。比較すると、常に追加の値が示されますが、修復機能には影響しません。
- Interval:
- 異種: 修復中に、Veridataが00を列に挿入/更新する場合があります。
Oracle GoldenGate Veridataは、現在CAST (?AS INTERVAL)を挿入および更新問合せの一部として使用しています。このキャストのデフォルトはINTERVAL SECONDです。したがって、'05'、'57'または'98'のような値をキャストとして使用すると、次のような値になります。
- 5 --> 00:00:05
- 57 --> 00:00:57
- 98 --> 00:01:38
- 異種: 修復中に、Veridataが00を列に挿入/更新する場合があります。
- citext
ソース側またはターゲット側でcitextが文字列形式のデータ型にマップされている場合、修復機能は完全にはサポートされていません。citextがソース側の場合、修復が機能するには次の変更が必要です: 「プロファイルの構成」 > 既存のプロファイルの編集 > 「修復」に移動して、「変更された値の確認」設定の選択を解除します。
親トピック: サポートされるデータ型
2.4.5 サポートされているデータ型 - MySQL、MariaDB
Oracle GoldenGate Veridataは、MySQLデータベース、MariaDBデータベースのリストにある次のデータ型をサポートしています:
- BIGINT
- BINARY
- BIT
- BLOB
- CHAR
- DATE
- DATETIME
- DECIMAL
- DOUBLE
- ENUM
- FLOAT
- INT
- INTEGER
- LONGBLOB
- LONGTEXT
- MEDIUMBLOB
- MEDIUMINT
- NUMERIC
- REAL
- SET
- SMALLINT
- TEXT
- TIME
- TIMESTAMP
- TINYBLOB
- TINYINT
- TINYTEXT
- VARCHAR
- VARBINARY
- YEAR
- Veridata数値比較形式を使用してサポートされるOracle/Postgresデータ型のマッピング: Number
- Veridata文字列比較形式を使用してサポートされるOracleデータ型のマッピング(制限あり): CharおよびVarchar。
- 制限: 先頭に0がある値と比較する場合には適用できません(
0001101
など)。 - Veridata文字列比較形式を使用してサポートされるPostgres型のマッピング(制限あり): Char、Varchar、Bit varying。
-
制限: 先頭に0がある値と比較する場合には適用できません(
0001101
など)。 -
サポートされていないOracleデータ型: BinaryおよびVarbinary
- 無効な値または欠落値が検出されたときにOracle GoldenGate Veridataの修復でエラーが正しくスローされるようにするには、ユーザーはSQLモードをstrictに設定する必要があります。これは、MySQLの起動時にグローバル・レベルで設定するか、agent.propertiesの接続文字列を介してセッション・レベルで設定できます(たとえば:
database.url=jdbc:mysql://host:3306?sessionVariables=sql_mode=(select concat(@@SESSION.sql_mode,',STRICT_TRANS_TABLES'))
) REAL
を主キーとして使用していて、MySQLクライアントおよびVeridataが特定の行を取得できない場合があると(WHERE `PKCOL` = '-99.9999'
など)、Oracle GoldenGate Veridataは比較および修復中にこれらの行をスキップします。- 非標準の
FLOAT(M,D)
およびDOUBLE(M,D)
を使用する場合、DDLの(M,D)
は格納されている実際の精度およびスケールと一致する必要があり、ソースとターゲットの両方がMySQLである必要があります。
親トピック: サポートされるデータ型
2.4.6 サポートされているデータ型 - DB2 LUW
Oracle GoldenGate Veridataでは、DB2 LUWデータベースの次にリストされたデータ型がサポートされています。
- BIGINT
- BLOB
- CHAR
- CHAR FOR BIT DATA
- CLOB
- DATE
- DBCLOB
- DECFLOAT
- DECIMAL
- DOUBLE
- FLOAT
- GRAPHIC
- INTEGER
- LONG VARCHAR
- LONG VARCHAR FOR BIT DATA
- LONG VARGRAPHIC
- NUMERIC
- REAL
- SMALLINT
- TIME
- TIMESTAMP
- VARCHAR
- VARCHAR FOR BIT DATA
- VARGRAPHIC
- XML
親トピック: サポートされるデータ型
2.4.7 サポートされているデータ型 - DB2 for i
Oracle GoldenGate Veridataでは、DB2 for iの次にリストされたデータ型がサポートされています。
- BIGINT
- BLOB
- CHAR
- CHAR FOR BIT DATA
- CLOB
- DATE
- DBCLOB
- DECFLOAT
- DECIMAL
- DOUBLE
- FLOAT
- GRAPHIC
- INTEGER
- LONG VARCHAR
- LONG VARCHAR FOR BIT DATA
- LONG VARGRAPHIC
- NUMERIC
- REAL
- ROWID
- SMALLINT
- TIME
- TIMESTAMP
- VARCHAR
- VARCHAR FOR BIT DATA
- VARGRAPHIC
- XML
- wldb2 JDBCドライバのREAL値の小数部分は、常に16桁の精度で格納されます。たとえば、0.8は
0.800000011920929
に変換され、小数値が存在する場合、比較は常に失敗します。
親トピック: サポートされるデータ型
2.4.8 サポートされているデータ型 - DB2 z/OS
Oracle GoldenGate Veridataでは、DB2 z/OSデータベースの次にリストされたデータ型がサポートされています。
- BIGINT
- BINARY
- BLOB
- CHAR
- CHAR FOR BIT DATA
- CLOB
- DATE
- DBCLOB
- DECFLOAT
- DECIMAL
- DOUBLE
- FLOAT
- GRAPHIC
- INTEGER
- LONG VARCHAR
- LONG VARCHAR FOR BIT DATA
- LONG VARGRAPHIC
- NUMERIC
- REAL
- ROWID
- SMALLINT
- TIME
- TIMESTAMP
- TIMESTAMPWITHTIMEZONE
- VARBINARY
- VARCHAR
- VARCHAR FOR BIT DATA
- VARGRAPHIC
- XML
親トピック: サポートされるデータ型
2.4.9 サポートされているデータ型 - Sybase
Oracle GoldenGate Veridataでは、Sybaseデータベースの次にリストされたデータ型がサポートされています。
- bigdatetime
- bigint
- bigtime
- binary
- bit
- char
- date
- datetime
- decimal
- float
- image
- int
- money
- numeric
- real
- smalldatetime
- smallint
- smallmoney
- sysname
- text
- time
- timestamp
- tinyint
- unichar
- unitext
- univarchar
- unsigned bigint
- unsigned int
- unsigned smallint
- varbinary
- varchar
親トピック: サポートされるデータ型
2.4.10 サポートされているデータ型 - Teradata
Oracle GoldenGate Veridataでは、Teradataデータベースの次にリストされたデータ型がサポートされています。
- ARRAY
- BIGINT
- BLOB
- BYTE
- BYTEINT
- CHAR
- CLOB
- DATE
- DECIMAL
- DISTINCT
- FLOAT
- GRAPHIC
- INTEGER
- INTERVAL DAY
- INTERVAL DAY TO HOUR
- INTERVAL DAY TO MINUTE
- INTERVALDAYTOSECOND
- INTERVAL HOUR
- INTERVAL HOUR TO MINUTE
- INTERVAL HOUR TO SECOND
- INTERVAL MINUTE
- INTERVAL MINUTE TO SECOND
- INTERVAL MONTH
- INTERVAL SECOND
- INTERVAL YEAR
- INTERVALYEARTOMONTH
- LONG VARCHAR
- LONG VARGRAPHIC
- NUMBER
- SMALLINT
- STRUCT
- TIME
- TIMEWITHTIMEZONE
- TIMESTAMP
- TIMESTAMPWITHTIMEZONE
- VARBYTE
- VARCHAR
- VARGRAPHIC
親トピック: サポートされるデータ型
2.4.11 一般的な制限事項および説明
このトピックでは、いくつかの一般的な制限事項および説明を示します。
- 浮動小数点データ型は定義上近似値であるため、Oracle GoldenGate Veridata UIでは予想とは若干異なる値(余分な小数値など)が表示される場合があります
- 00:00:00から23:59.59の範囲外の値をサポートするTIMEデータ型を含むデータベースでは、ソースとターゲットが同じデータベースの場合にのみ比較が機能します。
- データベース側にREAL/FLOATやDoubleなどのデータ型の精度がある場合、Oracle GoldenGate Veridataはソース・データベースまたはターゲット・データベースに存在する低精度を切り捨てます。Veridataでは、比較フェーズでデータの精度が低いことを考慮します。
- Oracle GoldenGate Veridataは、末尾の桁を切り捨てて、スケールの大きい10進数を内部的に変換します。制限は、Oracleを除くすべてのデータベースに適用されます。
これは、Oracle GoldenGate Veridataがテンプレートを使用して10進数をマスキングするためです。大きいスケールの場合は、スケール部分を表すために数桁を残します。たとえば、スケールが38桁の
6.710123456789e-26
のような数値は、Oracle GoldenGate Veridataによって最初の15桁が保持されるように切り捨てられ、0に変換されます。スケールのすべての桁を保持することが非常に重要なシナリオの場合、比較ペアを構成する際に、比較書式を数値にするかわりに文字列またはその他の比較書式を使用することをお薦めします。
親トピック: サポートされるデータ型
2.5 Oracle GoldenGate Veridataエージェントのシステム要件
比較対象のデータが含まれるデータベース・インスタンスごとに1つのOracle GoldenGate Veridataエージェントをインストールする必要があります。したがって、少なくとも2つ(ソース行の取得用とターゲット行の取得用)のエージェントをインストールします(同じデータベース・インスタント内のデータの比較ではない場合)。1つのエージェントで指定したデータベース・インスタンス内の複数のデータベースまたはスキーマから行を取得できます。ただし、1つのエージェントで異なるデータベース・インスタンスから行は取得できません。
マルチバイト・データの比較
マルチバイト・データを含む表を比較する場合、次のような考慮が必要です。
- CエージェントのみのNonStop以外は、すべてのプラットフォームでJavaエージェントを使用します。
- Javaエージェントでは、文字データの比較にUTF-8文字を使用します。同期していないデータはUTF-8文字セットを使用してレポート・ファイルに書き込まれます。
2.5.1 エージェント・コンポーネントのディスクおよびメモリー要件
-
Oracle GoldenGate Veridataエージェントのディスク領域要件はプラットフォームによって異なりますが、最大200 MBが必要です。UNIXおよびLinuxの場合は、Java環境にインストールするには追加領域が必要です(インストールされていない場合)。
-
処理リソースの主なコンシューマは比較中に必要な行ソート操作です。パフォーマンスを改善するには、キーとして使用する列がネイティブな一意の索引または主キーでない場合は、データベース内の一時メモリー領域を増やす必要があります。Oracle GoldenGate Veridataを構成する際にキーとして使用する列を指定します。
-
データベース・ソートではなくサーバー側ソートを使用すると、行、定義済み索引、使用するキーの数およびデータベースのチューニング方法に応じて、データベース・サーバーの負荷が減り比較パフォーマンスが改善されます。「サーバー・コンポーネントのディスクおよびメモリー要件」を参照してください
2.5.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
EXECUTE_CATALOG_ROLE
(GET_TAG
およびSET_TAG
の手順)-
CREATE TABLE
(プライマリ/一意制約のない表の場合のCOOS結合用) -
CREATE TABLESPACE
(プライマリ/一意制約のない表の場合のCOOS結合用) -
GRANT UPDATE
、DELETE
、INSERT
(プライマリ/一意制約のない表の場合のCOOS結合用)
NonStop SQL/MPおよびEnscribe
-
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
権限。
BigData Hive
比較する表上でのSELECT権限。
修復機能を使用するのに必要なデータベース権限
すべてのデータベースで、データベース・ユーザーには、修復する表のUPDATE
、INSERT
、DELETE
権限が必要です。
Sybaseデータベースでは、表でトリガーとトリガーの抑制が有効になっている場合、データベース・ユーザーにはreplication_role
権限が必要です。
SQL Serverデータベースでは、修復する表にIDENTITY列がある場合、指定した修復ユーザーは、表所有者である必要があるか、修復する表のALTER
権限が必要です。
2.6 Oracle GoldenGate Veridataサーバーのシステム要件
この項では、Oracle GoldenGate Veridataサーバーのインストール場所、追加プログラム、ディスク、メモリーおよびリポジトリの要件について説明します。
Oracle GoldenGate Veridataサーバーは、専用のLinuxホストでのみ実行するように設計されています。ポートの競合を回避するために、サーバー・インストールの前に、他のすべてのアプリケーションを停止し、MySQLインスタンスを削除してください。
動作保証マトリックスとシステム要件のドキュメントを相互に確認して、現在の環境が必要なインストール要件を満たしていることを確認することをお薦めします。GoldenGateの証明書を参照してください。
2.6.1 サーバー・コンポーネントの場所
サーバー・コンポーネントおよびWebユーザー・インタフェース・コンポーネントは、Linuxシステムで1つのインストール・プログラムからインストールされます。インストーラにはこれらのプログラムの実行に必要なファイルがすべて含まれています。1つのインストールをサポートされているすべてのデータベース間の比較に使用できますが、必要に応じて複数のインストールを使用できます。
NonStopシステム上にはサーバー・コンポーネントまたはWebユーザー・インタフェース・コンポーネントをインストールしないでください。NonStopデータベース用Oracle GoldenGate Veridataを使用するには、次のようにします。
-
サーバー・コンポーネントおよびWebユーザー・インタフェース・コンポーネントを、サポートされているLinuxシステムにインストールします。
-
このシステムで高速ネットワーク接続を使用してNonStopシステムへアクセスできることを確認します。
2.6.2 サーバー・コンポーネントのディスクおよびメモリー要件
サーバー・コンポーネントは基本タスクに約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エージェントでは、データベースのネイティブ文字セットが使用されます。 |
バイナリ |
データベースに格納されているバイト。 |
たとえば、浮動小数点として比較する場合、数109998877に必要なバイト数は次のようになります。
この行のメモリー: ((1 + 1) * 4) + 16 + 9 = 33
バイト
ノート:
ここでは、すべての非キー列はリテラルではなくハッシュを使用して比較されることが前提となります。リテラル比較の場合、必要なメモリー量は増えます。
Oracle GoldenGate Veridataでは、データのソートに外部マージ・ソートを使用します。エージェントからデータを受け取ると、行がインメモリーでソートされます。メモリー・バッファが一杯になると、行はディスクに書き込まれます。
データをソートするために、ソート・プロセスは、初期データ・セット・サイズを一時記憶領域に合せます。必要な一時領域のサイズは、行の数、行サイズおよび使用可能なソート・メモリーの量によって決まります。次に、使用可能なリソースに応じたソートの各種モードを示します。
-
インメモリー・ソート: データを完全にインメモリーでソートします。最も速い方法ですが、メモリー要件が使用可能なメモリーの量を超える可能性があります。ソート・メモリーは、データ・セットのサイズの約2.5倍必要です。
-
1ディスク・パス: データをソートし、ディスクに1回のみ書き込みます。データ・セットのサイズと同じソート・ディスク領域が必要です。このプロセスはインメモリー・ソートと同程度の速さで、メモリー要件は低くなります。Oracle GoldenGate Veridataサーバーは、通常エージェントがデータベースから行を読み取るよりも速く行をディスクに書き込むことができます。
-
2ディスク・パス: 2回ソートし、ディスクに書き込みます。データ・セットの2倍のソート・ディスク領域が必要です。ディスク要件は高くなりますが、非常に大規模なデータ・セットを適度なメモリー量でソートできます。
-
3回以上のディスク・パス: エージェントから行をすべて受け取った後、最終的なディスクへの書込みの準備のために追加のソートが必要な場合があります。ディスクへのアクセスが3回以上必要な場合、必要なソート領域はデータ・セット・サイズの3倍以上になります。これは遅いため、使用しないようにします。
この割当てを超える場合は、処理の第2のステップである確認ステップ中に行を格納するメモリーが必要です。レプリケーション・レイテンシが非常に長い場合と同じように、確認が必要な行数が非常に多い場合は最大20MBになります。これらの行は確認前にメイン・メモリーでステージングされます。
64ビット・システムの場合は、より多くのメモリーを処理できるため、より多くのデータを遅いディスク・デバイスではなくメイン・メモリーに格納できます。必ずしも初回の比較ステップで使用されるメモリーが一度ですべてリリースされ、比較ステップで使用できるわけではありません。したがって、メモリーの一部はプロセス間で共有されます。ソートがメモリーにすべての行を格納できない場合は、ディスク・ストレージが使用されます。
割り当てるメモリー量を決定する際は、Oracle GoldenGate Veridataアプリケーション内のパラメータ設定で管理できるような次の方法を認識しておいてください。
-
一時領域は比較的速いファイル・システムに配置します。リモート・サーバー上のネットワーク・ファイル・システムでは比較処理が遅くなる可能性があります。
-
プロファイル設定で複数の一時ディレクトリを指定すると、ディスクのI/Oパフォーマンスを上げることができます。メリットを最大にするには、ディレクトリを別の物理ディスクに格納します。
-
プロファイル設定を使用して、指定の非同期行数後確認ステップを終了させてリソース制限に対処できます。
-
追加メモリーのプロパティはサーバー・パラメータで制御できます。「サーバー・パラメータ」を参照してください。
2.7 Oracle GoldenGate Veridataディストリビューション
2.7.1 Oracle GoldenGate Veridataのダウンロード
ディストリビューションとは、インストーラを格納するアーカイブ・ファイルで、インストーラを実行すると、ディストリビューションに付属のOracle GoldenGate Veridataコンポーネントのセットおよび機能がインストールされます。インストーラを実行するには、システム上に動作保証されたJDKが必要です。詳細は、「Oracle GoldenGate Veridataのインストールおよび実行」の「前提条件」を参照してください。
Oracle GoldenGate Veridataは、Oracle GoldenGateのダウンロード・ページ(https://www.oracle.com/middleware/technologies/goldengate-downloads.html)およびOracle Software Delivery Cloudサイト(https://edelivery.oracle.com/osdc/faces/SoftwareDelivery.)からダウンロードできます。
次の表に、Oracle GoldenGate Veridataの製品および機能セットを示します。
表2-1 Oracle GoldenGate Veridataの製品および機能セット
製品 | 機能セット | 説明 |
---|---|---|
Oracle GoldenGate Veridata |
Veridataサーバー |
Veridataサーバー・コンポーネントには、Webサーバー、Webアプリケーション、および |
Veridataエージェント |
このコンポーネントはVeridataエージェントのみをインストールします。 |
|
内部機能 |
OPatch |
OPatchユーティリティは、Oracle製品に対する個別パッチの適用またはロールバックを可能にするツールです。 |
2.7.2 Oracle GoldenGate Veridata CエージェントおよびJavaエージェントのダウンロード
Oracle GoldenGate Veridata CエージェントおよびJavaエージェント・プラットフォームは、次のOracle Technology NetworkのOracle GoldenGateダウンロード・ページでダウンロードできます:
http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html