この章では、収集プログラムおよび変更適用プログラム (OS/390 版) のセットアップ、 操作、およびトラブルシューティングの方法について説明します。 また、DB2 (OS/390 版) のデータに固有の情報も含まれています。
セットアップは、DB2 保守の適用、収集および変更適用プログラムのインストールと、 ソース、ターゲット、および制御サーバーの構成、 および DB2 の新しいリリースのインストール後に行う、 収集および変更適用プログラムの構成からなります。
収集プログラムおよび変更適用プログラム (OS/390 版) をインストールする前に、 正しい DB2 保守を適用するようにしてください。 正しい DB2 保守を適用するには、以下のようにします。
収集プログラム (OS/390 版) および変更適用プログラム (OS/390 版) は、 SMP/E形式でパッケージされています。 各プログラムのインストール順序は、次のことから構成されます。
収集および変更適用プログラムのインストールに関する詳細については、 DB2 Universal Database for OS/390 Version 7 Program Directory を参照してください。
OS/390 用の収集および変更適用プログラムのロード・モジュールは、
特定の DB2 リリース用の DB2 DSN###.SDSNLOAD ライブラリーを使用して、
SMP/E により自動的にリンク・エディットされます。
インストール中にデータ・セットを SMP/E システムに定義するために、
サンプル・ジョブ ASNLDEF (収集) および ASNADEF (変更適用) が使用されます。
それぞれのプログラムには、DB2 のリリースごとにロード・モジュールが 1 つずつあります。
接尾部は DB2 のリリースを表します。
DB2 のリリース | 収集ロード・モジュール | 変更適用ロード・モジュール |
---|---|---|
バージョン 5.1 | ASNLRP75 | ASNAPV75 |
バージョン 6.1 | ASNLRP76 | ASNAPV76 |
バージョン 7.1 | ASNLRP77 | ASNAPV77 |
インストール中に SMP/E DDDEF 項目を設定するには (2)、 収集プログラムのサンプル・ライブラリー SASNLBSE(ASNLDEF) と変更適用プログラムのサンプル・ライブラリー SASNABSE(ASNADEF) を参照してください。
収集または変更適用プログラムをインストールすると、 それぞれの DDDEF 項目は対応する DB2 DSN###.SDSNLOAD ライブラリーを指すよう設定されます。 ### は製品のリリース番号です (バージョン 7.1 は 710、バージョン 6.1 は 610、 バージョン 5.1 は 510)。 関連する DB2 のリリースがインストールされていない場合、 DDDEF 項目は、"DDDEF(SDSNLD##)" 用の DB2 SDSNLOAD ライブラリーによってセットアップされ、 インストールされているもっとも高いレベルの DB2 を指します。 たとえば、DB2 5.1 がインストールされていない場合、 DDDEF 項目は、DDDEF(SDSNLD51) によってセットアップされ、 DSN710.SDSNLOAD ライブラリーを指すため、 SMP/E のリンク・エディットは戻りコード 4 を出して終了します。 また、収集プログラムのロード・モジュール ASNLRP75 を実行ジョブ ASNL2RN5 で実行することや、 変更適用プログラムのロード・モジュール ASNAPV75 を実行ジョブ ASNA2RN5 で実行することはできません。
収集または変更適用プログラムのインストール後に、 DB2 の新しいリリースをインストールする場合には、以下のようにします。
管理者は、ここに記載されているコマンドを使用することによって、 収集プログラム (OS/390 版) に関する次の作業を実行することができます。
コマンドは、TSO または MVS コンソールから実行依頼できます。
ここには、収集プログラムの実行に関する制約事項も示されています。
現在、収集プログラム (OS/390 版) は特定のタイプのデータを複製できません。 こうした制限事項のリストについては、複製における一般的な制約事項を参照してください。
サブシステムで実行できる収集プログラムのインスタンスは 1 つだけです。 データ共用環境では、データ共用グループ内のメンバー・サブシステムのうち、 収集プログラムを実行できるのは 1 つだけです。 データ共用環境では、DB2 はすべてのメンバー・サブシステムからマージされたログ・レコードを表示します。
収集プログラムを開始した後は、オペレーターが停止させるか、回復不能エラーが検出されるまで、 実行が続けられます。 JCL を使用して開始するか、 システム開始済みタスクとして開始するかのいずれかで開始することができます。
JCL を指定して収集プログラム (OS/390 版) を開始するには、以下のようにします。
呼び出し JCL でのこの行の例を次に示します。
//ASNL2RNx EXEC PGM=ASNLRPnn,PARM='DB2_subsystem_name NOTERM WARMNS SLEEP=2'ここで、x および nn は収集プログラムのレベルです。
システム始動タスクとして収集プログラム (OS/390 版)を開始するには、以下のようにします。
表 24 は、呼び出しパラメーターを定義します。
表 24. 収集プログラムの呼び出しパラメーター定義 (OS/390 版)
パラメーター | 定義 |
---|---|
DB2_subsystem_name | 制御サーバーに接続できる DB2 サブシステムの名前を指定します。
サブシステム名のデフォルトは DSN です。
これは、最初のパラメーターでなければなりません。
データ共用の場合、グループ接続名を使用しないでください。 その代わりに、メンバー・サブシステム名を指定してください。 |
TERM (デフォルト) | DB2 の終了の場合は、収集プログラムを終了します。 |
NOTERM | DB2 が MODE(QUIESCE) で終了した場合、収集プログラムを実行し続けます。
DB2 が開始されると、収集プログラムは WARM モードで開始され、
DB2 が終了したときの場所から収集を開始します。
DB2 が FORCE を介して終了するかまたは異常終了した場合、 このパラメーターを選択していても収集プログラムは終了します。
NOTERM オプションを使用する場合に、制限付きアクセス (ACCESS MAINT) を指定して DB2 を開始すると、 収集プログラムは接続できず、終了します。 |
WARM (デフォルト) | ウォーム・スタート情報を入手できる場合、収集プログラムは、 直前の実行の終了時点から処理を再開します。 収集プログラムは、ウォーム・スタートできない場合、 コールド・スタートに切り替わります。 |
WARMNS | ウォーム・スタート情報を入手できる場合、収集プログラムは、 直前の実行の終了時点から処理を再開します。 そうでない場合、メッセージを発行して終了します。 WARMNS を使うと、収集プログラムは自動的にコールド・スタートに切り替えません。 収集プログラムは、トレース、UOW、CD、 およびウォーム・スタート表を元のままにしておきます。 エラーが発生した場合、収集プログラムは、 WARM が指定されているときのようにコールド・スタートに切り替わるのではなく、 終了します。 |
COLD | 収集プログラムは、初期設定時に、まず CD 表、UOW 表、 およびトレース表内のすべての列を削除して起動します。 これらの複製ソースに対するすべてのサブスクリプションは、 変更適用の次回の処理サイクルで完全に最新表示されます。 ターゲットが不完全 CCD 表の場合、 全最新表示は行われません (ソース表とターゲット表の間のギャップの解決を参照してください)。 |
PRUNE (デフォルト) | 収集プログラムは、チューニング・パラメーター表で指定された間隔で、 変更適用プログラムによりコピーされた CD および UOW 表の行を自動的に枝取りします。 ウォーム・スタート時にコピーされたものでなくても、 保存限度より古い CD および UOW 行を枝取りします。 |
NOPRUNE | 自動枝取りは使用不可になります。 収集プログラムは、PRUNE コマンドを入力した場合にのみ、 CD および UOW 表を枝取りします。 |
NOTRACE (デフォルト) | トレース情報は書き込まれません。 |
TRACE | トレース・メッセージを標準出力 SYSPRINT に書き込みます。 |
SLEEP=n | 収集プログラムがアクティブ・ログの処理を終了するときに待機する時間を指定します。 ここで n は秒数です。 このパラメーターは、DB2 (MVS 版) バージョン 4 リリース 1 およびそれ以降 (データ共用機能付き) で実行される収集プログラムで使用することができます。 デフォルトは SLEEP=0 です。 |
ALLCHG (デフォルト) | ソース表の行に変更があるたびに、CD 表に項目を追加するよう指定します。 |
CHGONLY | 複製 (CD 表列) のために定義した列の値が変化した場合にだけ、 ソース表の行に変更が加えられたときに CD 表に項目を追加するよう指定します。 |
指定した時点で収集プログラム (OS/390 版) を開始するには、 $TA JES2 コマンドまたは AT NetView コマンドのいずれかを使用します。 以下のことを行う必要があります。
収集プログラムを規定どおりに停止して、 その時点までに処理したログ・レコードをコミットするには、 STOP コマンドを使用します。 (詳細については、 MVS System Commands を参照してください。)
>>-F--jobname--,STOP-------------------------------------------><
STOP コマンドは、以下の操作の前に発行してください。
SUSPEND コマンドを使用すると、 ピーク時に、収集プログラム環境を損なわずに操作可能なトランザクションに OS/390 リソースが解放されます。 このコマンドは、RESUME コマンドが発行されるまで収集プログラムを延期します。
>>-F--jobname--,SUSPEND----------------------------------------><
重要: 複製ソースを取り消すときには、 SUSPEND を使用しないでください。 代わりに、STOP コマンドを入力して収集プログラムを停止します。
延期した収集プログラムを再開するには、RESUME コマンドを使用します。
>>-F--jobname--,RESUME-----------------------------------------><
新しい複製ソースを追加した場合に、 新しいソース表から変更を収集するには REINIT コマンドを使用します。 REINIT コマンドによって収集プログラムは、 新たに追加された複製ソースを登録表から取得するよう指示されます。
また REINIT は、 チューニング・パラメーター表を再読み取りして、 チューニング・パラメーターに変更が行われているかどうかも調べます。
>>-F--jobname--,REINIT-----------------------------------------><
重要: REINIT コマンドは、 収集プログラムの実行中に複製ソースの取り消しまたは複製ソース表の除去を行った後で収集プログラムを再初期設定するのに使用しないでください。 収集プログラムを停止してから、WARM または WARMNS オプションを使って再始動してください。
ALTER TABLE ステートメントを使用して複製ソースまたは CD 表に列を追加する前に、 表に対するすべての変更を収集プログラムが収集したことを確認する必要があります。 ALTER TABLE ステートメントの後に、 REINIT コマンドを発行する必要があります。
CD および UOW 表の枝取りを実行するには、PRUNEコマンドを使います。
このコマンドは、表を一度だけ枝取りします。
>>-F--jobname--,PRUNE------------------------------------------><
このコマンドが正常に待ち行列に入れられると、収集プログラムはメッセージ ASN0124I を発行します。
枝取り中に収集プログラムを停止または延期した場合、 枝取りを再開するには再度 PRUNE コマンドを入力する必要があります。 RESUME コマンドを入力しても、枝取りは再開されません。
GETLSEQ コマンドは、 現行のログ順序番号とタイム・スタンプを取得します。 この情報を使用すると、 収集プログラムが DB2 ログをどこまで読み取っているかを判別できます。
>>-F--jobname--,GETLSEQ----------------------------------------><
収集プログラムは、いつ現行のログ順序番号の処理が正常に完了したかを示すメッセージ ASN0125I を出します。
管理者は、ここに記載されているコマンドを使用して、 変更適用プログラム (OS/390 版) に関する次の作業を実行することができます。
コマンドは、TSO または MVS コンソールから実行依頼できます。
変更適用を開始した後は、次のような時点まで実行が続けられます。
変更適用プログラム (OS/390 版) を開始するには、以下のようにします。
変更適用ジョブの PARM フィールドに適切な呼び出しパラメーターを指定することにより、 OS/390 用のJCL を準備します。 サイトの要件に合うように、JCL を調整します。 ライブラリー SASNAJCL(ASNA2RN#) の呼び出し JCL は、 変更適用プログラム (OS/390 版) プロダクトに組み込まれています。
呼び出し JCL でのこの行の例を次に示します。
//ASNARUN EXEC PGM=ASNAPVnn,PARM='Apply_qual DB2_subsystem_name DISK'
ここで、nn は変更適用プログラムのレベルです。
表 25 は、呼び出しパラメーターを定義します。
パラメーター | 定義 |
---|---|
Apply_qual | 変更適用プログラム・インスタンスが、 処理されるサブスクリプションを識別するのに使用する変更適用修飾子を指定します。 変更適用修飾子は、大文字小文字が区別され、 さらにサブスクリプション・セット表の APPLY_QUAL の値と一致しなければなりません。 これは、最初のパラメーターでなければなりません。 |
DB2_subsystem_name | 制御サーバーに接続できる DB2 サブシステムの名前を指定します。
これは、2 番目のパラメーターでなければなりません。
データ共用の場合、グループ接続名を使用しないでください。 その代わりに、メンバー・サブシステム名を指定してください。 |
Control_server_name | 複製制御表が常駐するサーバーの名前を指定します。 このパラメーターを指定しないと、デフォルトは現行サーバーになります。 |
LOADXit | 変更適用プログラムが ASNLOAD を呼び出すように指定します。ASNLOAD は、ターゲット表を最新表示するためにエクスポートおよびロード・ユーティリティーを使う IBM 提供の出口ルーチンです。 現在、DB2 (OS/390 版) で ASNLOAD が使えるユーティリティー・プログラムはありません。 |
NOLOADXit (デフォルト) | 変更適用プログラムは ASNLOAD を呼び出さないことを指定します。 |
MEMory (デフォルト) | 取り出した応答セットをメモリー・ファイルに保管することを指定します。 応答セット用の十分なメモリーがない場合、変更適用プログラムは失敗します。 |
DISK | 取り出した応答セットをディスク・ファイルに保管することを指定します。 |
INAMsg (デフォルト) | 変更適用プログラムが非活動化されるとき、変更適用プログラムからメッセージが発行されることを指定します。 |
NOINAMsg | 変更適用プログラムはこのメッセージを発行しないことを指定します。 |
NOTRC (デフォルト) | 変更適用プログラムは、トレースを生成しないことを指定します。 |
TRCERR | エラー情報のみを含んだトレースを変更適用プログラムが生成することを指定します。 |
TRCFLOW | エラーおよび実行の流れの情報を含んだトレースを変更適用プログラムが生成することを指定します。 |
NOTIFY | 変更適用プログラムは ASNDONE を呼び出すことを指定します。ASNDONE は、 変更適用プログラムがサブスクリプション・セットをコピーし終えてから制御をユーザーに戻すための出口ルーチンです。 |
NONOTIFY (デフォルト) | 変更適用プログラムは ASNDONE を呼び出さないことを指定します。 |
SLEEP (デフォルト) | 処理に適する新しいサブスクリプションがない場合に、変更適用プログラムがスリープ状態に入ることを指定します。 |
NOSLEEP | 処理に適する新しいサブスクリプションがない場合に、 変更適用プログラムが停止することを指定します。 |
DELAY(n) | 連続複製が使用される場合に、それぞれの変更適用サイクルの終わりにおける遅延時間 (秒単位) を指定します。 ここで、n は、0、1、2、3、4、5、または 6 です。 デフォルトの遅延時間は 6 秒です。 |
ERRWAIT(n) | 変更適用プログラムがエラー状態になってから再試行するまでに待機する秒数を指定します。 ここで、n は秒数です。 変更適用プログラムは、ほとんど切れ目なく稼働して、変更適用追跡表に多数の行を生成するため、 指定する数が小さすぎないようにしてください。 デフォルトの待ち時間は 300 秒 (5 分) です。 |
指定した時に変更適用プログラム (OS/390 版) を開始するには、 $TA JES2 コマンドまたは AT NetView コマンドのいずれかを使用します。以下のことを行う必要があります。
$TA JES2 コマンドの使用については、 MVS/ESA JES2 コマンド を参照してください。 AT NetView コマンドの使用については、 NetView (MVS) コマンド解説書 を参照してください。
変更適用プログラム (OS/390 版) を停止するには、 以下の MVS STOP コマンドを入力します。
>>-P--jobname--------------------------------------------------><
TYPE 2 索引は索引ページをロックしないため、TYPE 2 索引を指定すると、 索引に関するデッドロックおよびタイムアウト問題を、アプリケーションで回避することができます。 TYPE 2 索引を使用するとその他の機能 (並列照会の中央処理装置 (CP) による処理、 区分の独立性の向上、行ロック、およびロックを介する読み取りの能力) などが使用できるようになることです。TYPE 2 索引を指定すると、SUBPAGES のすべての指定が無視され、エラー・メッセージが発行されます。
索引のタイプを指定しない場合、タイプは次のように判別されます。
推奨事項:
DB2 ODBC カタログは、ODBC アプリケーションのパフォーマンスを向上させるように設計されています。 DB2 ODBC カタログ内の表は、ODBC アプリケーションの高速のカタログ・アクセスをサポートするために、 事前に結合され索引付けされています。 IBM の ODBC ドライバーは、DB2 ODBC カタログの多重表示もサポートしています。
DB2 ODBC カタログの使用は、DB2 DataPropagator バージョン 5 またはそれ以降でサポートされています。 バージョン 5 レベルのサポートについて詳しくは、IBM Replication Guide and Reference V5 を参照してください。 DB2 DataPropagator バージョン 6 用の DB2 ODBC カタログの拡張機能には、以下のものが含まれています。
DB2 ODBC カタログ表を使うことにより、データの現行性問題を取り除くことができます。DB2 DataPropagator (OS/390 版) バージョン 6 では、 実際の DB2 カタログ表の内容と同期を取りながら DB2 ODBC カタログにデータを保持することができます。 収集プログラムは、DB2 カタログへの変更を表すログ・レコードと、 これら変更されたデータがステージング表に記録するデータを識別します。 変更適用プログラムは、変更されたデータ・レコードを DB2 ODBC カタログ表に複製します。
ここでは、自動モードを使用して DB2 ODBC カタログを実装する方法について説明します。 自動モードでは、すべての DB2 カタログの変更を DB2 ODBC カタログ表に自動的に複製します。
以下の項では、クライアントおよびサーバーが ODBC 照会を実行する準備をするのに必要なセットアップ手順を説明します。
DB2 ODBC カタログ全体を使用するには、CLISCHEMA=CLISCHEM 項目を DB2CLI.INIファイルに追加します。 DB2 ODBC カタログ全体ではなく独自に設定したビューを使用するには、CLISCHEMA=MYSCHEMA 項目を DB2CLI.INI ファイルに追加します。 以下の例には、両方のステートメントが含まれています。
[tstcli1x] uid=userid pwd=password autocommit=0 TableType="'TABLE','VIEW','SYSTEM TABLE'" [tstcli2x] Assuming dbalias2 is a database in DB2 for MVS SchemaList="'OWNER1','OWNER2','CURRENT SQLID'" [MyVeryLongDBALIASName] dbalias=dbalias3 SysSchema=MYSCHEMA [RDBD2205] AUTOCOMMIT=1 LOBMAXCOLUMNSIZE=33554431 LONGDATACOMPAT=1 PWD=USRT006 UID=USRT006 DBALIAS=RDBD2205 CLISCHEMA=CLISCHEM [RDBD2206] AUTOCOMMIT=1 LOBMAXCOLUMNSIZE=33554431 LONGDATACOMPAT=1 PWD=USRT006 UID=USRT006 DBALIAS=RDBD2206 CLISCHEMA=MYSCHEMA
独自のスキーマを使用する場合、すべての DB2 ODBC カタログ表のビューを定義する必要があります。 ビューを定義する必要がある DB2 ODBC カタログ表のリストについては、表 26 をご覧ください。 以下の VIEW MYSCHEMA ステートメントを使用して、CLISCHEM.table_name ODBC 表に対する DB2 ODBC カタログのビューを定義します。
CREATE VIEW MYSCHEMA.table_name FROM CLISCHEM.table_name where TABLE_SCHEM=MYUSER
ここで、table_name は DB2 ODBC カタログ表名の 1 つです。
サーバーをセットアップするには、複製に応じた以下の制御情報を定義します。
表 26 では、DB2 ODBC カタログによってサポートされている ODBC 関数呼び出しをリストし、
DB2 ユニバーサル・データベース (OS/390 版) バージョン 7 によってその関数呼び出しが実装される方法について説明します。
ODBC 関数呼び出し | ODBC カタログ表 |
---|---|
SQLColumns |
CLISCHEM.COLUMNS に保管されているフォーマット済みデータに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSCOLUMNS を使って実装されます。
|
SQLColumnPrivileges |
CLISCHEM.COLUMNPRIVILEGES に保管されている結合済みデータに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSCOLUMNS、
SYSIBM.SYSTABAUTH、
および SYSIBM.SYSCOLAUTH を使って実装されます。
|
SQLForeignKeys |
CLISCHEM.FOREIGNKEYS に保管されている結合済みデータに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSRELS、
SYSIBM.SYSFOREIGNKEYS、
および SYSIBM.SYSCOLUMNS を使って実装されます。
|
SQLPrimaryKeys |
CLISCHEM.PRIMARYKEYS に保管されている基本キーに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSCOLUMNS を使って実装されます。
|
SQLProcedures |
SQLProcedures 関数が必要とする列にのみ含まれている CLISCHEM.PROCEDURES に対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSROUTINES を使って実装されます。
|
SQLSpecialColumns |
CLISCHEM.SPECIALCOLUMNS に保管されている結合済みデータに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSCOLUMNS、SYSIBM.SYSKEYS、
および SYSIBM.SYSINDEXES を使って実装されます。
|
SQLTablesPrivileges |
CLISCHEM.TABLEPRIVILEGES に対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSTABAUTH を使って実装されます。
|
SQLTables |
CLISCHEM.TABLES に保管されている結合済みデータに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSTABLES を使って実装されます。
|
SQLStatistics |
CLISCHEM.TSTATISTICS に保管されている結合済みデータに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSTABLES、SYSIBM.SYSINDEXES、
および SYSIBM.SYSKEYS を使って実装されます。
|
SQLProcedureColumns |
CLISCHEM.PROCEDURECOLUMNS に保管されている結合済みデータに対して SELECT コマンドが発行されます。
この呼び出しは、ソース表 SYSIBM.SYSROUTINES および SYSIBM.SYSPARMS を使って実装されます。
|