Oracle® Fusion Middleware DB2 for iのためのOracle GoldenGateのインストールおよび構成 12c (12.2.0.1) E79717-01 |
|
前 |
次 |
この章では、Oracle GoldenGateをサポートするシステムおよびデータベース・リソースの要件について説明します。
この章は次の項で構成されています:
IBM DB2 for i用Oracle GoldenGateを使用すると、サポートされている類似のまたは異なるDB2 for iバージョン間でデータをレプリケートしたり、DB2 for iデータベースと他のタイプのデータベースとの間でデータをレプリケートできます。DB2 for i用Oracle GoldenGateでは、このドキュメントに特に記載がないかぎり、データのフィルタ処理、マッピングおよび変換がサポートされます。
DB2 for i用Oracle GoldenGateをDB2 for iソース・システムで直接実行し、レプリケーション用トランザクション・ジャーナルからターゲット・システムへデータを取得します。ターゲットDB2 for iデータベースにデータを適用するには、Oracle GoldenGateをDB2 for iターゲット・システムで直接実行するか、リモートのWindowsまたはLinuxシステムで実行します。リモート・システムにインストールした場合は、ReplicatがODBC接続を使用してデータを配信するため、Oracle GoldenGateソフトウェアはDB2 for iターゲットにはインストールしません。
注意: DB2 for iプラットフォームでは、1つ以上のジャーナルを使用してトランザクション変更データのレコードが保持されます。ベースとなるOracle GoldenGateの管理ドキュメントやリファレンス内の用語との一貫性を保つため、「ジャーナル」という語を使用する必要性がない場合、「ログ」または「トランザクション・ログ」という語を「ジャーナル」と区別せずに使用します。その他のOracle GoldenGateドキュメントのリストは、「関連ドキュメント」を参照してください。 |
サポートされているハードウェアまたはソフトウェア構成で製品をインストールしていることを確認します。詳細は、「Oracle Fusion Middleware Supported System Configurations」ページのリリースの動作保証に関するドキュメントを参照してください。
Oracleでは、動作保証済のすべてのシステムおよび環境で製品のパフォーマンスをテストおよび検証しており、新しい動作保証情報が発表された場合は、適切な動作保証ドキュメントにすぐに追加されます。新しい動作保証情報は常に発生する可能性があるため、動作保証ドキュメントはドキュメント・ライブラリの外部に保持され、Oracle Technology Networkで利用できます。
この項では、ローカル・オペレーティング・システムでのOracle GoldenGateのサポートの要件を概説します。
Portable Application Solution Environment (PASE)がシステムにインストールされている必要があります。
OpenSSHのシステムへのインストールをお薦めします。OpenSSHは、IBM Portable Utilitiesライセンス付きプログラムに含まれており、これを使用すると、SSH端末からシステムへ他のLinuxシステムと同様にアクセスできます。
次の各表に、Oracle GoldenGateのリリースで必要なIBM DB2 for iのプログラム一時修正(PTF)の詳細をまとめます。
IBM i7.1のグループPTF | レベル | 名前 | 注意 |
---|---|---|---|
SF99710 | 13037 | 累積PTF | その他の必須PTF: 5770SS1、SI51060
コマンドによる確認: |
SF99701 | 26 | DB2 for i | |
SF99709 | 99 | グループHIPER | |
SF99367 | 7 | TCP/IP | |
SF99572 | 12 | JAVA | Javaエージェントではプロダクト5761JV1オプション12 (Java SE 6 64ビット)が必要です。 |
IBM i6.1のグループPTF | レベル | 名前 | 注意 |
---|---|---|---|
SF99610 | 13058 | 累積PTF | その他の必須PTF: 5761SS1、SI51061、コマンドによる確認: DSPPTF LICPGM(5761SS1) SELECT(SI51061) |
SF99601 | 30 | DB2 for i | |
SF99609 | 153 | グループHIPER | |
SF99354 | 15 | TCP/IP | |
SF99562 | 24 | JAVA | Javaエージェントではプロダクト5761JV1オプション12 (Java SE 6 64ビット)が必要です。 |
IBM OS/400 V5R4のグループPTF | レベル | 名前 | 注意 |
---|---|---|---|
SF99540 | 12094 | 累積PTF | その他の必須PTF: 5722SS1、SI50721、
コマンドによる確認: OGG用のDB2 for iネイティブ・コマンド・インタフェースを使用している場合、PASE_MAXSHR64は自動的に設定されるため、その場合このメッセージは表示されません。 |
SF99504 | 33 | DB2 for i | |
SF99539 | 198 | グループHIPER | |
SF99315 | 22 | TCP/IP | |
SF99291 | 33 | JAVA | Javaエージェントではプロダクト5761JV1オプション10 (Java Developer Kit)が必要です。 |
これらの必須PTFのレベルは、11g R2リリースおよび12cリリースのOracle GoldenGateがテストされる対象となったレベルです。グループPTFレベルを確認するには、5250端末セッションからWRKPTFGRP
コマンドを使用し、前述の表に記載されているコマンドで特定のPTFを確認する必要があります。特定の必須以外のPTFは、少なくとも一時的に適用する必要があります。
Oracle GoldenGateに必要なメモリー量は、処理されるデータ量、実行するOracle GoldenGateプロセス数、Oracle GoldenGateで使用できる主記憶域(RAMまたは物理メモリー)の量、使用可能な物理メモリーを超えるトランザクション・データのキャッシュにOracle GoldenGateで使用できる補助記憶域(共有メモリー・セグメントとして使用可能なディスク領域)の量によって異なります。
Oracle GoldenGateによって使用される主記憶域の量は、Oracle GoldenGateプロセスではなく、オペレーティング・システムによって制御されます。Oracle GoldenGateキャッシュ・マネージャは、オペレーティング・システムのメモリー管理機能を利用して、Oracle GoldenGateプロセスを持続的かつ効率的に機能させます。
DB2 for iプラットフォームでは、Oracle GoldenGateキャッシュ・マネージャに十分な共有メモリー・セグメントを用意するために、PASE_MAXSHR64
環境変数に推奨される設定値は513 (128GB)以上です。DB2 for iネイティブのOracle GoldenGateコマンドを使用する場合は、PASE_MAXSHR64
を設定してキャッシュ・マネージャに128GBの共有メモリー・セグメントを自動的に用意します。DB2 for iネイティブ・コマンドを使用しない場合は、DB2 for i PASEセッションを開始する前にこの環境変数を設定できます。Oracle GoldenGateのメモリー要件の評価の詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXのCACHEMGR
パラメータに関する項を参照してください。
注意: PASE_MAXSHR64 が設定されていない場合、仮想メモリーが推奨量より少ないことを示す警告メッセージが表示される場合があります。トランザクションが非常に大規模で長時間の場合や同時トランザクションの数が非常に多い場合以外、このメッセージは無視してもかまいません。 |
この項では、Oracle GoldenGateのディスク要件を概説します。
Oracle GoldenGateダウンロード・ファイルのサイズを確認するには、Oracle Software Delivery Cloudから選択したビルドをダウンロードする前に、「サイズ」列を表示します。表示される値は、圧縮形式でのファイルのサイズです。ディスクで解凍した後のOracle GoldenGateインストール・ディレクトリのサイズは、それより大幅に大きくなります。詳細は、2.2項「Oracle GoldenGateディストリビューションの理解と入手」を参照してください。
仮想メモリー用に十分なディスク領域を使用可能にします。Oracle GoldenGateキャッシュ・マネージャによって設定されるデフォルトは、64ビット・システムでは64GBです。メモリー管理の詳細は、1.3.2項「メモリー要件」を参照してください。
Oracle GoldenGate証跡(作業用データが含まれているファイル)をホストするシステムに追加で1GBのディスク領域。証跡によって消費される領域は処理されるデータ量に応じて異なるため、これとは多少異なる容量が必要となる場合があります。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がソースDB2 for iシステムおよびWindowsまたはLinuxターゲット・システムで必要とするセキュリティ権限について概説します。
サブディレクトリを作成する処理やプログラムを実行する処理を実行するため、Oracle GoldenGateをインストールするユーザーに、Oracle GoldenGateのインストール・ディレクトリに対する読取りと書込みの権限が必要です。このユーザーにはRSTOBJ
コマンドに対する権限も必要です。また、必要に応じてライブラリを作成できる必要があります。インストールを簡単にするために、製品をインストールするユーザーは*ALLOBJ
権限を保有することをお薦めします。
DB2 for iソース・システムでは、ManagerおよびExtractプロセスがアクティブです。異なるターゲット・システムにデータをレプリケートする場合、DEFGEN
ユーティリティもアクティブです。DB2 for iターゲット・システムでは、リモートのWindowsまたはLinuxシステムにReplicatをインストールしないかぎり、Replicatプロセスはアクティブです。どちらのシステムでもプロセスはすべて双方向構成で実行されます。
Oracle GoldenGateプロセスに、Oracle GoldenGate専用のユーザー・プロファイル・アカウントを割り当てます。他のプログラムでは使用できません。1つのユーザー・プロファイルをすべてのOracle GoldenGateプロセスで使用できます。このプロファイルでは、Oracle GoldenGateによる操作対象のオブジェクトにのみ権限を付与します。特定の変更データがOracle GoldenGateからアクセスできない場合、そのデータは、Oracle GoldenGateユーザー・プロファイルからアクセス可能なジャーナルには含めないでください。すべてのOracle GoldenGateプロセスに、Oracle GoldenGateインストール・ディレクトリ内のファイルおよびディレクトリの読取り、書込みおよび削除権限が必要です。
Managerプロセスには、他のすべてのOracle GoldenGateプロセスを制御する権限が必要です(DB2 for i *JOBCTL
権限)。
Extractユーザー・プロファイルがアクセスする必要のあるシステム上のすべてのオブジェクトには、*USE
権限を割り当てます。Replicatユーザー・プロファイルがアクセスする必要のあるシステム上のすべてのオブジェクトには、*CHANGE
権限を割り当てます。これを行うには、*ALLOBJ
権限をユーザーに付与するか、ユーザーがアクセスする必要のあるオブジェクト(FILE
、LIBRARY
およびJOURNAL
オブジェクト)に個別の権限を設定します。これには、SQLカタログが含まれるQSYS2
ライブラリ内のオブジェクトが含まれます。これらの権限は、5250端末セッションを介したネイティブDB2 for iインタフェース、またはIBM社から入手できるDB2 for i Operations Navigator製品を使用して付与する必要があります。
ExtractおよびReplicatのデータベース・ユーザー・プロファイルは、パラメータ・ファイルを構成する(第4章「DB2 for iのためのOracle GoldenGateの構成」を参照)ときに、データベースとやり取りするGGSCIコマンドを発行する前に、DBLOGIN
コマンドでUSERID
パラメータを使用して指定する必要があります。
サブディレクトリを作成する処理やプログラムを実行する処理を実行するため、Oracle GoldenGateをインストールするユーザーに、Oracle GoldenGateのインストール・ディレクトリに対する読取りと書込みの権限が必要です。Windowsでは、Oracle GoldenGateをインストールするユーザーは管理者としてログインする必要があります。
WindowsまたはLinuxシステムでは、Manager、ReplicatおよびCollector(プログラム名は"server
")がアクティブです。Managerは、他のプロセスを制御し、受信データを受け取るCollectorと対話します。Replicatは、ODBCを介してターゲットDB2 for iデータベースにデータを適用します。
Oracle GoldenGateプロセスに、Oracle GoldenGate専用のユーザー・アカウントを割り当てます。他のプログラムでは使用できません。1つのユーザー・アカウントをすべてのOracle GoldenGateプロセスで使用できます。このアカウントには、Oracle GoldenGateインストール・ディレクトリ内のファイルおよびディレクトリの読取り、書込みおよび削除権限が必要です。
Extractユーザー・プロファイルに必要な権限がない場合、Extractは次のエラーを記録して停止します。
[SC=-1224:SQL1224N A database agent could not be started to service a request, or was terminated as a result of a database system shutdown or a force command.SQL STATE 55032: The CONNECT statement is invalid, because the database manager was stopped after this application was started]
ユーザー・プロファイルは、パラメータ・ファイルを構成する(第4章「DB2 for iのためのOracle GoldenGateの構成」を参照)ときに、データベースとやり取りするGGSCIコマンドを発行する前に、DBLOGIN
コマンドでUSERID
パラメータを使用して指定する必要があります。
Oracle GoldenGateでは、「サポートされていないDB2 for iデータ型」に示されているデータ型を除くすべてのDB2 for iデータ型がサポートされます。
サポートの制限
Extractは、TIMESTAMP(0)
からTIMESTAMP(6)
までの取得および適用を完全サポートします。ExtractはTIMESTAMP(7)
からTIMESTAMP(12)
までの取得も行いますが、データをマイクロ秒(最大6桁の端数)までで切り捨て、警告をエラー・ログに出力します。Replicatは、DB2 for iターゲットで他のソースからのタイムスタンプ・データをTIMESTAMP(7)
からTIMESTAMP(12)
までに適用する際、マイクロ秒までで切り捨てます。
Oracle GoldenGateでは、0001/01/03:00:00:00.000000から9999/12/31:23:59:59.999999までのタイムスタンプ・データがサポートされます。タイムスタンプがGMTからローカル時間に変換される場合、これらの制限も結果のタイムスタンプに適用されます。タイムゾーンに応じて、変換により時間が追加または引かれる場合があり、これにより、タイムスタンプがサポートされている上限を超えたり、下回ったりすることがあります。
Oracle GoldenGateでは、次のIBM for iデータ型はサポートされません。
XML
DATALINK
DECFLOAT
ユーザー定義型
Oracle GoldenGateでは、次のDB2 for iオブジェクトと操作がサポートされます。
システム名(大文字)で識別されるデフォルトのDB2 for iデータベースのみがサポートされます。独立補助ストレージ・プール(IASP)の名前付きデータベースはサポートされません。
DML操作の抽出およびレプリケーション
行の最大長がデータベースでサポートされている表。
データベースでサポートされている列の最大数、最大サイズまでの数およびサイズの列を含む表。
WHERE
句なしのDELETE FROM
SQL文およびClear Physical File Member
(CLRPFM
)
マテリアライズ問合せ表自体ではなく、MQTの基となるベース表。ターゲット・データベースは、Replicatによってベース表に適用された変更に基づいて、自動的にMQTの内容を整備します。
メンバーを含むライブラリ(ネイティブ)名と、SQL名のどちらも使用できます。
パーティション表
自動ハートビート表のサポートに関する制限事項は次のとおりです。
ADD HEARTBEATTABLE
コマンドは、ogghbfreq¿
という新しいファイルをOracle GoldenGateのビルド・フォルダ内に作成します。pase
ハートビート・プログラムで頻度の値をこのファイルから読み取るため、このファイルは削除しないでください。
Oracle GoldenGateビルド・フォルダには、他にもogghb
という実行可能ファイルがあります。
ogghb
という追加プロセスは、ADD HEARTBEATTABLE
コマンドに指定された時間から実行が開始され、DELETE HEARTBEATTABLE
コマンドでハートビートを無効にするまで実行されます。このプロセスは、強制終了されたとしても、自動的に再開されます。このプロセスをシステムから削除するには、DELETE HEARTBEATTABLE
コマンドを使用します。
PURGE_FREQUENCY
オプションまたはRETENTION_TIME
オプションを指定したALTER HEARTBEATTABLE
コマンドを使用して、ハートビートの頻度を変更すると、実施にはおよそ60秒 + 変更前の頻度(秒)が必要となります。
ADD HEARTBEATTABLE
間には30秒の初期遅延があり、ハートビート・シード表の最初のレコードが更新されます。
Oracle GoldenGateでは、次のDB2 for iに対するオブジェクトおよび操作はサポートされません。
DDL操作
末尾に空白を含むスキーマ名、表名および列名。
データベースの複数インスタンス
マルチジャーナル機能では、複数のジャーナル間での1つのトランザクションのマルチジャーナル同期がサポートされていません。
この項には、DB2 for iプラットフォームに対してサポートされないOracle GoldenGate構成パラメータの一部を示します。Oracle GoldenGateのパラメータとそのパラメータでサポートされるデータベースの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
BATCHSQL
(V5R4およびi6.1でのみサポートされません)BR
ASCIITOEBCDIC
およびEBCDICTOASCII
BINARYCHARS
LOBMEMORY
TRAILCHARSETEBCDIC
Oracle GoldenGateでは、SQL命名規則がサポートされます。library/file(member)
という形式のネイティブ・ファイル・システム名もサポートされます。
ネイティブ(システム)名の場合、Oracle GoldenGateでワイルドカードに関する標準のDB2 for i命名規則がサポートされ、*ALL
または名前の一部分の後ろにアスタリスク(*)ワイルドカードを付加したものを使用できます。例を次に示します。
library
/*all(*all)
library
/a*(a*)
library
/abcde*
Oracle GoldenGateでは、ライブラリ名に対するワイルドカードの使用は許可されません。
メンバー名はオプションで省略できます。その場合、すべてのメンバーのデータが抽出されますが、ライブラリ名とファイル名のみが取得され、証跡に書き込まれるレコードに含められます。その結果、データは、ソースの1つのメンバーのみから取得されたように見え、メンバー間でキーの重複がある場合、ターゲットで整合性の競合が起きる可能性があることに注意してください。証跡のレコードにメンバー名を含めるには、メンバーを明示的に含めるか、ワイルドカードのメンバー指定を使用して含めます。
SQL名の場合、DB2 for iシステムでのSQLの標準の処理に従って、基になるネイティブ・ファイルの最初のメンバーのみが抽出されます。SQL名の場合、Oracle GoldenGateで表名に対してはワイルドカードの使用はサポートされますが、スキーマ名に対してはサポートされません。ワイルドカードを使用したSQL名の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
DB2 for iの旧リリースすべてにおいて、Extractではテキスト・データがすべてUnicodeに変換されました。UTF-8 (シングルおよびマルチバイトCCSIDの場合)またはUTF-16 (2バイトCCSIDの場合)のいずれかです。つまりSQLでは、初期ロードまたは"標準"のExtractの証跡で、バイナリ以外のCHAR
、VARCHAR
およびCLOB
データはすべてUTF-8に変換され、GRAPHIC
、VARGRAPHIC
およびDBCLOB
データはすべてUTF-16に変換されます。これは、12.2より前の証跡フォーマットをExtractで使用している場合、引き続き当てはまります。
列のキャラクタ・セット列を持つバージョンに対するリリース12.2より前のdefgen
の動作では、-1(列のキャラクタ・セットがキャラクタ・セットを使用する列のデフォルトであることを示す)を指定しました。その後で、証跡ヘッダーを使用して列データのキャラクタ・セット(常にUTF-8またはUTF16に設定)を指定しました。
Oracle GoldenGateリリース12.2以降のデフォルト動作は、Oracle GoldenGate変換でサポートされているキャラクタ・セットをそのままパス・スルーできるように変更されました。この変更により、処理対象のレコード内のテキスト・データ量に比例して、自動的にCPU使用量が削減され、Extractのスループット率が向上します。Oracle GoldenGateで変換できないCCSIDがExtractで見つかった場合、Extractはその列に対して元の動作にデフォルト設定され、旧リリースで行われていたようにテキスト・データを適切なUnicodeキャラクタ・セットに変換します。これにより、新しいExtractからの証跡を処理するどのReplicatでも、Extractのテキスト・データを処理できるようになります。
IBM i用Extractの元の動作が望ましい場合は、キーワードTRAILCHARSETUNICODE
をExtractのprm
ファイルに追加する必要があります。これにより、旧リリースのDB2 for i用Oracle GoldenGateと同様に、すべてのテキスト・データがUnicodeに変換されます。あるいは、表定義でキーワードCOLCHARSET
を使用して、特定のオブジェクト・レベルまたは列レベルで選択して以前の変換動作に戻すこともできます。
"標準"(初期ロード以外) Extractの一般的なprm
ファイルの例:
TRAILCHARSETUNICODE
- すべてのTABLE文に含まれているオブジェクトのテキスト・データはすべてUnicodeに変換されます。
- このキーワードが含まれていない場合、Extractはデフォルトでテキスト・データを変換しません
table <schema>.<table>, COLCHARSET(ALL, UTF-8)
または
table <schema>.<table>, charset(UTF-8)
- この特定のTABLE文に一致するオブジェクトのテキスト・データはすべてUnicode (2バイトの列はUTF-16)に変換されます。
table <schema>.<table>, COLCHARSET(TXTCOL4, UTF-8)
- TXTCOL4
のみがUTF-8に変換され、他のテキスト・データはすべて変更せずにパス・スルーされます。
注意: IBM for i PASEデータベース・レイヤーの機能方法とOracle GoldenGateの内部処理のため、状況によっては引き続きUnicode変換が必要になります。 |
- 初期ロードExtractは自動的にすべてのデータをUnicodeに変換し、列にUnicodeデータを指定します。
- Oracle GoldenGate 12.2より前の証跡フォーマットを使用するExtractでは、テキスト・データをUnicodeへ変換する方法に自動的に戻ります。
- 列関数あるいはSQLEXEC、FETCHCOLUMNSまたはFETCHMODCOLSを含む表指定では、TRAILCHARSETUNICODEが指定されているか、特定の表または列にCOLCHARSET修飾子が含まれるように変更されている必要があります。これは、Replicatが列関数も使用している場合に当てはまります。その場合、Replicat表にマップされているExtract表がUnicodeとして送信される必要があります。
defgenでは証跡が生成されないため、defgenに対してTRAILCHARSETUNICODEはサポートされませんが、ReplicatでTRAILCHARSETUNICODEを使用している場合または列のキャラクタ・セットを無効にしてdefsファイルを使用している場合、defgenでは、次のようにして同等の列のキャラクタ・セットのオーバーライドを指定する必要もあります。
table <schema>.<table>, COLCHARSET(ALL, UTF-8)
または
table <schema>.<table>, charset(UTF-8)
- この特定のTABLE文に一致するオブジェクトのテキスト・データはすべてUnicode (2バイトの列はUTF-16)に変換されます。
table <schema>.<table>, COLCHARSET(TXTCOL4, UTF-8)
- TXTCOL4のみがUTF-8に変換され、他のテキスト・データはすべて変更せずにパス・スルーされます。
また、Oracle GoldenGateリリース12.2のデフォルト動作では、列のメタデータを必要に応じて操作データとともに証跡データにインラインで含めます。つまり、定義ファイルはOracle GoldenGateレプリケーションで必要なくなり、無視されます。
ただし、Oracle GoldenGate Replicatまたはポンプが、この動作を無効にして定義ファイルを使用するように指定されているか、前の証跡フォーマット・レベルが使用されている場合は、defgen
定義ファイルを再作成する必要があります。この場合、その定義とExtractが証跡に書き込む内容が必ず一致するように注意する必要があります。したがって、Extract prm
ファイル内に存在するTRAILCHARSETUNICODE
キーワード、CHARSET
修飾子またはCOLCHARSET
修飾子はすべて、Extractに一致するdefgen prm
ファイルにも存在する必要があります。
ReplicatのASSUMETARGETDEFS OVERRIDE
でも、ExtractがExtractパラメータ・ファイルの表でTRAILCHARSETUNICODE
または同等のCOLCHARSET
修飾子を使用している必要があります。これは、Replicatが引き続きUnicode接続を使用してデータベースに接続し、すべてのテキスト・フィールドをUnicodeとして現在内部処理しているためです。