5 DB2 z/OSデータベースのためのOracle GoldenGateのインストール
トピック:
システム・サービス
UNIX System Services (USS)は、Extractサポート・モジュールの実行可能ファイルをインストールするために必要な場合にのみアクティブ化します。
Oracle GoldenGateでは、シスプレックス・データ共有がサポートされます。
メモリーの要件
Oracle GoldenGateは、ローカル・システムに次のメモリー・リソースを必要とします。
- リモート・システム上
-
Oracle GoldenGateに必要なメモリーの量は、処理されるデータの量、実行されるOracle GoldenGateプロセスの数、Oracle GoldenGateで使用可能なRAMの量、およびオペレーティング・システムでRAMを開放する必要がある場合(通常はロー・ウォーターマークに達した場合)にRAMのページを一時的に格納するためにOracle GoldenGateで使用可能なディスク領域の量に応じて異なります。このRAMからディスクへの一時的な格納は、一般にスワッピングまたはページングと呼ばれます。プラットフォームによっては、スワップ領域という用語は、スワップ・パーティション、スワップ・ファイルまたは共有メモリー・セグメント(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リファレンス』の
CACHEMGR
パラメータに関する項を参照してください。 - DB2ホスト・システム上
-
ログ・バッファのサイズに応じて起動されるOracle GoldenGateログ・リーダー(
oggreadx
)ごとにおおよそ10MBから50MBの仮想メモリーを割り当てます。リモート・システムのExtractプロセスごとに1つ起動されます。最大ログ・バッファ・サイズを調整するには、Extractパラメータ・ファイルでTRANLOGOPTIONS BUFSIZE
パラメータを使用します。Extractログ・リーダー・コンポーネントのワークロード・マネージャ(WLM)環境を設定する場合は、環境に応じて
NUMTCB
を10-40の範囲に設定することをお薦めします。これは、次に示すIBMの一般的なガイドラインに基づいています。
DB2 z/OSのオペレーティング・システム権限
リモート・ホストでは、Oracle GoldenGate製品ディレクトリのサブディレクトリでchmod +rw
コマンドを使用する権限が必要です。
表5-1に、Oracle GoldenGateを使用するために必要なその他のオペレーティング・システム権限を示します。
表5-1 オペレーティング・システム権限
DB2 z/OSユーザー権限 | Extract | ストアド・プロシージャ | Replicat |
---|---|---|---|
リモートDB2サブシステムに |
X |
X |
X |
インストール先オペレーティング・システムの選択
Oracle GoldenGate for DB2 for z/OSはzLinux、AIXまたはIntel Linuxシステムでリモートで動作します。データをキャプチャするには、Oracle GoldenGateがDB2ログ・データを読み取れるように、DB2インスタンスを含む小さいコンポーネントをDB2 z/OSシステムにインストールする必要があります。
Oracle GoldenGateをリモートzLinux、AIXまたはLinuxシステムにインストールするには、z/OSシステム上のDB2に接続するために次のオプションを使用できます。
-
DB2 Connect v10.5以降
-
IBM Data Server Driver for ODBC and CLI v10.5以降
-
IBM Data Server Client v10.5以降
-
IBM Data Server Runtime Client v10.5以降
次のことを考慮してください。
-
ExtractはOpen Database Connectivity (ODBC)を使用して、z/OSシステムのDB2サブシステムに接続します。その他のドライバのいずれかがまだインストールされていない場合、IBM Data Server Driver for ODBC and CLIがもっとも軽量のドライバであるため、ほとんどの構成の場合にお薦めします。ただし、他のドライバも適しています。
-
DB2のログ・データをキャプチャするには、ログ・リーダー・コンポーネントがz/OSシステムのライブラリ(PDSE)にインストールされている必要があります。ロード・ライブラリ(PDS)はサポートされません。ライブラリはAuthorized Program Facility (APF)の必要があり、インストールによりシステムを保護するために役立ちます。APF承認プログラムは、承認されたSystem Facility (APF)にアクセスできます。SQLを介してログ・リーダー・コンポーネントがリモート・システムからコールされますが、これはAPF承認であるため、承認されたワークロード・マネージャ(WLM)環境も使用してこれらのプログラムが実行されます。デフォルトのDB2が提供するWLM環境では承認されたワークロードを実行できないためです。
-
Oracle GoldenGate配信には、現在、キャプチャに設定されている以上の特別な要件は必要ありません。このOracle GoldenGateリリースは完全なリモート配布であり、以前のOracle GoldenGate DB2リモート製品は個別には出荷されなくなったためです。ただし、このリリースのOracle GoldenGate for DB2 z/OSではWindowsはサポートされません。それでも、Windowsからz/OSへの配信が必要な場合は、現在でもOracle GoldenGate DB2 Remote 12.2を入手できます。
-
一部のインストール手順を除いてUNIX System Services (USS)は前のリリースとは異なり不要になりました。
-
Windowsのみ: WindowsからDB2ターゲットにデータを適用するには、Oracle GoldenGate DB2 Remote v12.2を使用する必要があります。このシナリオではキャプチャはサポートされません。
-
DB2ターゲット・システムへのリモート配信用にOracle GoldenGate DB2 Remoteをリモートのシステムにインストールします。この構成では、Replicatは、DB2 Connectに含まれているODBC APIを使用してターゲットDB2データベースに接続します。この構成では、リモート・システムにDB2 LUWがインストールされている必要があります。
ノート:
DB2 for z/OSに対してサポートされるOracle GoldenGateの機能はすべて、DB2Connectによってサポートされます。また、ASCII文字データは、DB2 Connectによって自動的にEBCDICに変換されます。
-
Oracle GoldenGateはzLinux、AIXおよびIntelベースのLinuxにインストールできますが、最適なパフォーマンスを実現できるのは、ご使用のz/OSシステムまでのネットワーク・レイテンシがもっとも小さいシステムです。ワイド・エリア・ネットワークで実行することはできますが、ネットワーク・レイテンシが大きくなるためにパフォーマンスが低下します。DB2が実行されているz/OSシステムと同じ物理ハードウェアでzLinuxパーティションを使用し、パーティション間にHiperSocketsまたはVLANを使用することをお薦めします。それ以外では、同じマシン・ルーム内でOSAアダプタで接続されたシステムが次善の選択肢です。または、システム間で高速のイーサネット接続を利用できる場合は、それでも問題ありません。
DB2Connectを使用したDB2 z/OSへのリモート配信の使用
-
中間システムとして、DB2 for LUWデータベースに対してOracle GoldenGateでサポートされているプラットフォームを選択します。これは、Oracle GoldenGateがインストールされるシステムです。
-
ReplicatプロセスでDB2 Connectドライバを使用できるよう、選択したリモート・システムにDB2 for LUWをインストールして実行します。
-
次のDB2コマンドを使用して、リモート・システムのDB2 for LUWデータベースでDB2ターゲット・ノードを登録します。
catalog tcpip node db2_node_name remote DNS_name server DB2_port-number
-
次のDB2コマンドを使用して、中間システムのDB2 for LUWカタログにターゲットDB2ノードを追加します。
catalog db database_name as database_alias at node db_node_name
これらのコマンドの詳細は、IBM DB2 LUWのドキュメントを参照してください。
Db2 z/OSへのExtractコンポーネントのインストール
-
外部プログラム(認可済)としては、次のプログラムがあります:
-
oggib001
– 初期化およびユーティリティ・プログラム -
oggrb001
– ログ読取りプログラム機能 -
oggmt001
– ECSAおよび64ビット・メモリーを監視するスタンドアロン・プログラム oggjt001
–oggib001
プログラムから実行されるoggmt001
起動JCLの設定プログラム-
oggfr001
– Oracleサポートからのガイダンスの下でDBAが使用するユーティリティ
-
-
SQLストアド・プロシージャおよび関数としては、
OGGINITB
およびOGGREADB SQL
を含むdemo_db2_setupb_os390.sql
があります。 -
JCLプロシージャ、
oggtask.jcl
ノート:
これらの外部名、SQL名およびJCL名はデフォルトの名前であり、編集および更新できます。このプロセスについては、以降の項で説明します。
Db2 z/OS Extractのレプリケーション・プロセスの図では、Db2 z/OS Extractとそのメインフレーム・コンポーネントのレプリケーション・プロセスを示しています。
図5-1 Db2 z/OS Extractのレプリケーション・プロセス

-
Extractにより、インストール中に作成されたパラメータ・ファイルから、JCLパラメータなどのパラメータが読み取られます。
-
Extractによって起動情報がレポートされ、証跡ファイルの書込みが準備されます。
-
ODBCが、Db2データベースから情報を収集、レプリケーションを開始するために使用されます。
-
OGGINITB
SQLストアド・プロシージャにより、共有メモリーの準備と、レプリケーションに必要なその他のデータの収集が開始されます。 -
そのSQLストアド・プロシージャによってコールされる
OGGIB001
外部プログラムで、OGGJT001
ジョブ設定プログラムを使用してメモリー監視タスクが開始されます。 -
OGGMT001
メモリー・モニター・タスクにより、ECSAおよび64ビット共有メモリーの監視が開始されます。 -
OGGREADB
SQL関数により、外部プログラムOGGRB001
がコールされます。 -
OGGRB001
外部プログラムで、Db2ログ読取りプログラムが繰り返しコールされて、結果セット(1対多のログ・レコード・バッファがExtractに返される)が作成されます。 -
ログ・レコードの結果セットが完成すると、Extractへの結果セットの送信後に
OGGRB001
が終了します。
Extractにより、停止または異常終了するまでステップ7から9が繰り返されます。メモリー・タスクの起動に失敗すると、OGGI001
プログラムにより、JCLエラーまたは設定の問題があったことを示すフラグが返され、Extractにより、それ固有のメモリーが管理されます。メモリー・タスクが正しく起動されると、メモリー・タスクによって、48バイトのECSA共有メモリー内のフィールドの変更が繰り返しテストされます。なんらかの理由でExtractが終了した場合は、これらのフィールドが変更されなくなります。その時点で、Extractまたはネットワークが低速な場合は、メモリー・マネージャが待機し、構成された時間制限をすぎると、メモリーを解放してから停止します。
ノート:
oggifi0001
スキーマ名はTRANLOGOPTIONS REMOTESCHEMA schemaname
パラメータを使用して構成できます。プロシージャ名は構成できません。スクリプト内とPDSE内の各外部名は、スクリプト名とPDSEオブジェクト名が一致しているかぎり、変更できます。これらの名前の変更は、新しいバージョンへの移行を可能にする手順に含まれているか、Db2 z/OSで特定の命名手順に従う必要がある場合に実行します。次の表に、編集や更新が必要になる可能性があるコンポーネントのチェック・リストを示します:
表5-2 編集可能なコンポーネントのリスト
コンポーネント | 元 | 名前変更 | 場所 |
---|---|---|---|
|
tarファイル |
承認されたPDSE |
|
|
tarファイル |
承認されたPDSE |
|
|
tarファイル |
承認されたPDSEおよびプロシージャ・ライブラリ |
|
|
tarファイル |
承認されたPDSEおよびExtractパラメータ |
|
|
tarファイル |
プロシージャ・ライブラリおよびExtractパラメータ |
|
プロシージャ・ライブラリ |
MVS |
必要な場合は、Extractパラメータを追加する |
|
ステップ・ライブラリ |
MVS |
WLMおよび |
|
リモートスキーマ |
|
||
WLM名 |
MVS |
|
|
外部プログラム |
|
ノート:
新しいパッチをインストールするたびに、これらのステップをすべて実行してください。
Extractの場合の共有メモリー・マネージャの使用
Oracle GoldenGate Extractでは、WLMとは別のタスク(ジョブ)が起動されて共有メモリー使用量が監視されます。このメモリーは、48から64バイトまでの小さいECSA領域と、Extractバッファ・サイズに基づいた64ビットの大きい領域からなります。
共有メモリー内の特定のフィールドは、Extractによって実行される読取りのたびに更新されます。これらのフィールドは、スクリプトでデータが返されるかどうかに関係なく、更新されます。モニターにより、これらのフィールドがチェックされて、Extractが非アクティブになっていないことが確認されます。Extractが非アクティブである場合は、共有メモリーが解放され、モニターが終了します。メモリー・マネージャは、Extractのパラメータ・ファイル内のremote_memory_options
パラメータを使用して制御できます。
複数のサブパラメータを指定してモニター・タスクを構成できます。次の例で示すように、リモート・メモリー・オプションのサブパラメータを指定することで、モニターで使用される待機間隔と非アクティブ時間を構成できます。
remote_memory_options wait_interval 2000 inactive_time 01:00
待機間隔は、この例では100分の1秒単位で表されており、モニターが各メモリー・チェック間に20秒待機するようになっています。モニターによるチェックが1時間(書式HH:MM)に達し、Extractがまだ非アクティブである場合、モニターは、共有メモリーを解放した後に停止します。その時間内にExtractがアクティブ状態に戻った場合、モニターは、状態をリセットし、モニタリングを続行します。
wait_interval
には100から6000までの値を指定でき、そのデフォルトは1000です。inactive_time
には00:10から12:00までを指定でき、そのデフォルトは00:30です。モニターが正しく起動されない場合は、Extractにより、Extractレポートに警告メッセージが表示され、処理が続行されます。Extractにより、その停止時にECSAメモリーの解放が試みれらます。
-
task_procedure proc name
-
task_library proc library
-
task_setup task setup program
remote_memory_options task_procedure OGGPR001
remote_memory_options task_library TEST.PROCLIB
remote_memory_options task_setup OGGJT001
次に示すように、単一のコマンドで複数のオプションを指定できます:
remote_memory_options task_procedure OGGPR001 task_library TEST.PROCLIB task_setup OGGJT001
ノート:
リモート・メモリー・パラメータの値では、大文字小文字は区別されません。デフォルト値は、プロシージャ名OGGPR001
およびタスク設定プログラムOGGJT001
です。タスク・ライブラリにデフォルトはありません。これは、プロシージャが、MVSシステムのデフォルトのプロシージャ・ライブラリのいずれかにインストールされる可能性があるためです。タスク・ライブラリ・パラメータは、そのプロシージャがシステムのデフォルト・ライブラリにない場合のみ必要です。
メモリー・タスクは、単純なJOBカードと、Extractから渡されたパラメータを含むEXEC
プロシージャ名で始まります。一部のz/OSシステムでは、ジョブ・カード上の他の様々なパラメータが必要な場合があります。JOBパラメータは、次の例で示すように、リモート・メモリー・パラメータを使用して変更することもできます。
remote_memory_options task_jobname [valid MVS job name (see below)]
remote_memory_options task_acct_info [valid MVS acct value ( see below)]
remote_memory_options task_programmer [valid MVS programmer name, Can use single quotes]
remote_memory_options task_class [valid MVS job class A to Z or 0 to 9]
remote_memory_options task_msgclass [valid MVS msgclass A to Z or 0 to 9]
remote_memory_options task_msglevel [valid MVS message level n or (,n) or (n,n) n=valid digit]
remote_memory_options task_priority [valid MVS priority 0-15]
JOB名は、2つの有効な文字とアスタリスク(AA*
など)を使用して指定できます。デフォルトのJOB名はGG*
です。アスタリスクを指定すると6つの乱数で置き換えられます。そうではなく、1から8バイトまでの文字名を指定する場合は、有効なMVSジョブ名である必要があります。
-
OTXI
-
'MY ACCT'
-
(ACCT,1234,ABC)
特殊文字を許可するacct_info
やprogrammer
などのパラメータについては、一重引用符で囲む必要があります。また、二重、一重引用符またはアンパサンドを引用符内で使用することに関するMVSルールは、引き続き適用されます。Extractでは、これらのパラメータに対して最小限の検証が実行され、完全な検証はMVSプロセスに残されます。重複するパラメータを指定すると、Extractでは、最初のパラメータが受け入れられ、重複は無視されます。
zOSPrograms.zip
ファイルに含まれます。JCLの形式は次のとおりです://*==================================================================== //* EXAMPLE JCL FOR RUNNING THE COMMON MEMORY MONITOR PROCEDURE //* ADDRESS SPACE NEEDING AN AUTHORIZED LOAD LIBRARY //* NOTE: THE PROGRAM OGGMT001 CAN BE RENAMED IN THE LIBRARY BUT THE //* NEW NAME MUST MATCH THE PROGRAM NAME IN THIS JCL //*==================================================================== //OGGDSNNA PROC RGN=0K TR=,EX=,MEM=,LEN=,SEC=,DUR=,VER= //OGGDSNNX EXEC PGM=OGGMT001,REGION=&RGN,TIME=NOLIMIT, // PARM='&TR &EX &MEM &LEN &SEC &DUR &VER' //*-------------------------------------------------------------------- //* REPLACE &PREFIX.**.AUTHLOAD LIBRARIES WITH SITE SPECIFIC FILE(S) //* ALSO REPLACE THE CEE LIBRARY WITH SITE SPECIFIC FILE //* DSNN COULD REPRESENT A DB2 SPECIFIC LOAD LIBRARY IF ONE EXISTS //*-------------------------------------------------------------------- //STEPLIB DD DISP=SHR,DSN=&PREFIX..WLMDSNN.USER.AUTHLOAD // DD DISP=SHR,DSN=CEE.SCEERUN //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=*
PREFIX
でマークされたライブラリを、ご使用のシステムで動作するように変更します。zOSPrograms.tar
ファイルからコピーしたプログラムOGGMT001
の名前を変更した場合は、JCL内でそれを変更する必要があります。PROC
文でのnullパラメータは、情報提供のためにあります。ジョブ設定プログラムにより、Extractから渡された情報を使用してこれらの値が提供されます。また、必要な数のステップ・ライブラリ・データセット名を指定できます。zOSPrograms.tar
ファイルで提供されているJCLプロシージャでは、複数のステップ・ライブラリを使用する例が示されます。