データベース構成
Oracle GoldenGate for Db2 z/OSのデータベース構成設定について学習します。Oracle GoldenGateにはデータベース設定が必要です。
Db2 z/OSへのExtractコンポーネントのインストール
-
外部認可プログラムには、次のものが含まれます。
-
oggib001
– 初期化およびユーティリティ・プログラム -
oggrb001
– ログ読取りプログラム機能 -
oggmt001
– ECSAおよび64ビット・メモリーを監視するスタンドアロン・プログラム oggjt001
–oggib001
プログラムから実行されるoggmt001
起動JCLのセットアップ・プログラム-
oggfr001
– DBAがOracle Supportのガイダンスで使用するユーティリティ
-
-
SQLストアド・プロシージャおよびファンクション・テンプレートは、
OGGINITB
およびOGGREADB SQL
を含むSQLスクリプトzOS_OGG_Setup_Template.sql
に含まれています。 -
JCLプロシージャ
oggtask.jcl
ノート:
SQLおよびJCL名の値の外部名はデフォルトであり、編集および更新できます。このプロセスについては、後続の項で説明します。
Db2 z/OS Extractのレプリケーション・プロセスは、Db2 z/OS Extractとそのメインフレーム・コンポーネントのレプリケーション・プロセスを示しています。
図4-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に返す結果セットを作成します。 -
ログ・レコードの結果セットが完了すると、
OGGRB001
は結果セットをExtractに送信した後に終了します。
Extractは、停止または異常終了するまでステップ7から9を繰り返します。メモリー・タスクの起動に失敗すると、OGGIB001
プログラムはJCLエラーまたは設定の問題があったことを示すフラグを返し、Extractはそのメモリーの管理を開始します。メモリー・タスクが正常に開始すると、メモリー・タスクは48バイトのECSA共有メモリー内の絶えず変更するフィールドをテストします。Extractがなんらかの理由で終了すると、これらのフィールドは変更されなくなります。その時点で、メモリー・マネージャは、Extractまたはネットワークが遅い場合は待機し、メモリーを解放してから、構成された時間制限の後に停止します。
ノート:
oggifi0001
スキーマ名はTRANLOGOPTIONS REMOTESCHEMA
schemaname Extractパラメータを使用して構成できます。テンプレート内のプロシージャ名およびファンクション名(OGGINITB
およびOGGREADB
)は構成できません。スクリプトとPDSEの各外部名は、スクリプト名とPDSEオブジェクト名が一致している場合、名前を変更できます。これらの名前の変更は、新しいバージョンに移行できるプロシージャの一部であるか、Db2 z/OSで特定のネーミング・プロシージャに従う必要がある場合のプロシージャの一部です。
次の表に、編集または更新する可能性のあるコンポーネントのチェック・リストを示します。
表4-3 編集可能なコンポーネントのリスト
コンポーネント | 元 | 名前変更 | 説明 |
---|---|---|---|
|
Tarファイル |
承認済PDSE |
|
|
Tarファイル |
承認済PDSE |
|
|
Tarファイル |
承認済PDSEおよびprocライブラリ |
|
|
Tarファイル |
承認済PDSEおよびExtractパラメータ |
|
|
Tarファイル |
プロシージャ・ライブラリおよびExtractパラメータ |
|
proclib |
MVS |
必要に応じてExtractパラメータを追加します |
|
ステップ・ライブラリ |
MVS |
WLMおよび |
|
remoteschema |
|
||
WLM名 |
MVS |
|
|
外部プログラム |
|
ノート:
新しいパッチをインストールするたびに、これらのステップをすべて実行してください。
Extract用の共有メモリー・マネージャの使用
Oracle GoldenGate Extractは、共有メモリー使用量を監視するために、WLMから別のタスク(ジョブ)を開始します。このジョブは、MVSで実行される最小タスクですが、WLMではありません。このスクリプトのユーザー名は、WLM (通常はRACFなどを使用)から開始するときに実行するための権限を持っている必要があります。この監視対象の共有メモリーは、小さい48バイトから64バイトのECSA領域と、Extractバッファ・サイズに基づく大きい64ビット領域で構成されます。
共有メモリー内の特定のフィールドが、Extractによって実行される読取りごとに更新されます。これらのフィールドは、スクリプトがデータを返すかどうかに関係なく更新されます。モニターはこれらのフィールドをチェックして、Extractが非アクティブになっていないことを確認します。Extractが非アクティブである場合、共通メモリーは解放され、モニターは終了します。Extractのパラメータ・ファイルのremote_memory_options
パラメータを使用して、メモリー・マネージャを制御できます。
複数のサブパラメータを指定して、モニター・タスクを構成できます。次の例に示すように、リモート・メモリー・オプションのサブ・パラメータを指定することで、モニターが使用する待機間隔と非アクティブ時間を構成できます。
remote_memory_options wait_interval 2000 inactive_time 01:00
この例の待機間隔は1/100秒単位で表され、モニターは各メモリー・チェック間に20秒待機します。モニターによるチェックが1時間(書式HH:MM)に達し、Extractが依然として非アクティブである場合、モニターは共有メモリーを解放した後に停止します。Extractがその時間内にアクティブ状態に戻ると、モニターはその状態をリセットして監視を続行します。
wait_interval
には100から6000までの値を指定でき、デフォルトは1000です。inactive_time
には00:10から12:00までを指定でき、デフォルトは00:30です。モニターが正しく起動しない場合、Extractはレポートに警告メッセージを表示し、処理を続行します。Extractは、停止時にECSAメモリーの解放を試みます。
-
task_procedure プロシージャ名
-
task_library プロシージャ・ライブラリ
-
task_setup タスク設定プログラム
remote_memory_options task_procedure OGGPR001
remote_memory_options task_library TEST.PROCLIB
remote_memory_options task_setup OGGJT001
次に示すように、1つのコマンドに複数のオプションを指定できます:
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は、重複パラメータを指定した場合は最初のパラメータを受け入れ、重複を無視します。
プロシージャJCLファイルのサンプルは、zOSPrograms.zip
ファイルに含まれます。このJCLはWLMプロシージャを置き換えません。WLMで作成されたモニターは、JCLを使用してMVSで動作します。ジョブ出力のアーカイブやその他のプロシージャをサポートするコマンドまたはJCLを追加すると、JCLプロシージャの柔軟性が高まります。
ノート:
メモリー・マネージャのインストールおよび設定中に、RACFの設定の問題、イニシエータの使用状況、ジョブ・クラスの使用状況、またはメモリー・マネージャに関連する他の同様の問題のために待機する必要がある場合は、メモリー・マネージャを一時的にオフにする必要が生じる場合があります。
Extractは、このインスタンスでレガシー・モードで動作し、ECSAおよび64ビット共有メモリーを解放します。Extractでは、Extractレポートの最後に共有メモリーの解放が示されます。Oracleでは、永続的な解決としてこれをお薦めしていません。使用する場合、ユーザーはECSAおよび64ビット・メモリーの解放を監視します。この機能をオンにするパラメータはアンダースコアで始まり、システムがこのモードで実行されていることをユーザーに示します。他のリモート・メモリー・オプションは、メモリー管理をオフにするオプションを削除することで、そのままにして使用できます。リモート・メモリー管理パラメータはデフォルトでオンに設定され、次のように指定されます。
remote_memory_options _remote_memory_on
remote_memory_options _remote_memory_off
//*==================================================================== //* 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パラメータは、情報提供のために存在します。ジョブOGGJT001
設定プログラムは、Extractから渡された情報を使用してこれらの値を提供します。ステップ・ライブラリ・データセット名を、必要に応じていくつでも指定することもできます。zOSPrograms.tar
ファイルで提供されるJCLプロシージャは、複数のステップ・ライブラリを使用する例を示しています。