-SET LOG コマンド ( )Db2
-SET LOG コマンドを使用して、チェックポイントの頻度を変更したり、ログの記録を一時停止または再開したり、新しいアクティブログを追加したりすることができます。
-SET LOG コマンドは、インストール時に指定されたチェックポイントの頻度を変更します。 また、このコマンドは、前回の SET LOG コマンドの呼び出しで指定された値をオーバーライドします。
SET LOGが実行する変更は一時的なものであり、再起動時には Db2 が再起動時に使用した値を使用します。 LOGLOAD 値は、次のシステム・チェックポイントの後で有効になります。 SET LOG を使用して、現行 Db2 サブシステムのロギングおよび更新アクティビティーを中断または再開することができます。 SET LOG の NEWLOG オプションを使用して、アクティブ・ログを構成に追加することもできます。 NEWLOG による変更は広範囲に適用されます。
環境 -SET LOG
このコマンドは、 z/OS® コンソール、TSO下のDSNセッション、 DB2I パネル( DB2 COMMANDS)、 IMS または CICS® 端末、または計装機能インターフェース(IFI)を使用するプログラムから発行することができます。
データ共用範囲: メンバー
承認 -SET LOG
- ARCHIVE 特権
- SYSOPR 権限
- SYSCTRL 権限
- SYSADM 権限
ログオンしている z/OS コンソールまたは TSO SDSF から発行された Db2 コマンドは、1 次および 2 次許可 ID を使用して Db2 許可によって検査することができます。
z/OS でログインしたユーザーIDは、 または同様のセキュリティサーバーで定義されている必要があります。 RACF
構文 -SET LOG
オプションの説明 -SET LOG
- SINGLE
- チェックポイント頻度を制御するのに、単一のオプション (LOGLOAD または CHKTIME) のみを使用することを指定します。 SINGLE を指定する場合、LOGLOAD または CHKTIME を指定する必要があります。
SINGLE はオプションです。 このオプションを使用しない場合、既存のモード (SINGLE または BOTH) が使用されます。 SINGLE を指定し、一方で BOTH が以前に有効にされている場合、モードは SINGLE に変更されます。
- BOTH
- LOGLOAD と CHKTIME の両方を使用してチェックポイント頻度を制御することを指定します。 最初に到達した方のしきい値により、システム・チェックポイントがトリガーされ、両方のしきい値がリセットされます。
BOTH はオプションです。 このオプションを使用しない場合、既存のモード (SINGLE または BOTH) が使用されます。 BOTH を指定し、一方で SINGLE が以前に有効にされている場合、モードは BOTH に変更され、LOGLOAD および CHKTIME の入力値が使用されます。 LOGLOAD または CHKTIME を指定しない場合、指定しないオプションの既存の値は有効のままです。 CHKTIME または LOGLOAD の値が設定されておらず、SET LOG コマンドでオプションを指定しない場合、指定しないパラメーターに対してデフォルト値が使用されます。
SET LOG コマンドが SINGLE モードを BOTH に変更し、そのコマンドが CHKTIME を指定しない場合、CHKTIME のデフォルト値は 3 分です。
- LOGLOAD( 整数 )
- Db2 が連続するチェックポイントの開始時に書き込むログレコードの数を指定します。 0 の値を指定すれば、現行の LOGLOAD 値を変更せずに、システム・チェックポイントを
開始することができます。integer に指定できる値は次のとおりです。
- SET LOG コマンドで SINGLE を明示的に指定する場合、1000 から 16000000
- SINGLE モードが有効の場合、0、または 1000 から 16000000
- SET LOG コマンドで BOTH を明示的に指定する場合、または BOTH モードが有効の場合、0、または 1000 から 99999999
LOGLOAD のデフォルト値は 500000 ログ・レコードです。
Db2 が以前にシングルモードで実行されていた場合、CHKTIME が以前にチェックポイントを制御しており、LOGLOAD に 0 より大きい値を指定すると、LOGLOAD が将来のチェックポイントを制御し、CHKTIME は使用されません。
- CHKTIME( 整数 )
- 連続したチェックポイント間の開始間隔を分単位で指定します。
整数とは、0から5までの任意の整数です。 0 を指定すると、
システム・チェックポイントが即時開始され、チェックポイント頻度は変更されません。 
整数の取り得る値は以下の通りです- SET LOG コマンドで SINGLE を明示的に指定する場合、1 から 5
- SINGLE モードが有効な場合、0 から 5
- SET LOG コマンドで BOTH が明示的に指定されている場合、または BOTH モードが有効な場合、0 から 5

Db2 が以前にシングルモードで実行されていた場合、LOGLOADが以前にチェックポイントを制御しており、CHKTIMEに0より大きい値を指定すると、CHKTIMEが将来のチェックポイントを制御し、LOGLOADは使用されません。
- SUSPEND
- SET LOG RESUMEが発行されるまで、現在の Db2 サブシステムのログ記録を一時停止し、アクティビティを更新するように指定します。 Db2 未書き込みのログバッファを外部化し、システムチェックポイントを取得(データ共有環境以外)し、高書き込みのRBAでBSDSを更新し、その後、更新作業を一時停止します。 メッセージ DSNJ372I が発行され、
更新アクティビティーが再開するまでコンソールに表示されます。
SUSPEND は、32 KB ページの書き込みおよびすべてのページ・サイズに対するデータ・セット拡張を静止します。 ご使用のデータのボリューム・レベル・コピーを行っている時点で 、32 KB ページ書き込みが進行中であれば、SUSPEND は、データのコピーをリストアする 時点で 32 KB ページの矛盾したコピーが行われないようにします。 データセットの拡張処理が実行中の場合、SUSPENDにより、データのコピーがリストアされた際に、VSAMカタログと Db2 データセットとの間に不整合が生じるのを防ぐことができます。
このオプションは、ARCHIVE LOG または STOP DB2 のいずれかのコマンドがシステム静止をアクティブ化するときは、 使用できません。 更新アクティビティー は、SET LOG RESUME または STOP DB2 が発行されるまで中断されます。 (また、 ロギングを中断する場合、必ず、CANCEL OFFLOAD 指定で ARCHIVE LOG コマンドを発行してください。)
推奨事項: 高活動の時間帯に、または長時間に わたり、ログ・アクティビティーを中断したままにしないでください。 更新処理を中断すると、ロックタイムアウトや Db2 、 IRLM 診断ダンプなどのタイミングに関連するイベントが発生する可能性があります。
- RESUME
- 現在の Db2 サブシステムでのログ記録と更新アクティビティを再開し、コンソールからメッセージ DSNJ372I を削除するように指定します。 32 KB ページ書き込みとすべてのサイズのページに対するデータ・セット拡張を再開します。
推奨: コマンド認証チェック中の競合を回避するため、 z/OS コンソールまたはインストールSYSADM IDからこのコマンドを発行してください。 ロギングが SET LOG SUSPEND コマンド によって中断されると、ログ書き込みラッチの保留によって発生する競合が原因となって、ロギングが 再開するまでコマンド許可検査がハングする可能性があります。
- NEWLOG( データセット名 )
- アクティブ・ログ・インベントリーに、新しく定義されたアクティブ・ログ・データ・セットを追加します。 Db2 が新しく定義されたデータセットを開くことができる場合、ログはBSDSデータセットのアクティブなログインベントリに追加され、 Db2 をリサイクルすることなく、すぐに使用可能になります。
このコマンドを発行する前に、IDCAMS を使用してデータ・セットを定義する必要があります。
重要 :
各アーカイブログデータセットが、アクティブなログデータセットと同じかそれ以上のサイズであることを確認してください。 アクティブ ログ データ セットの要件の詳細については、「アクティブ ログ データ セットのストレージ要件」を参照してください。 4 GB を超えるアクティブ ログ データ セットを追加する前に、 機能レベル 500 以上もアクティブ化する必要があります。
推奨: SET LOGコマンドを発行してデータセットをアクティブなログのインベントリに追加する前に、DSNJLOGFユーティリティを使用して新しいアクティブなログデータセットをフォーマットしてください。 - COPY( ログコピー )
- 新しいアクティブ・ログ・データ・セットのログ・コピー番号を指定します。
log copy の値は 1 または 2 です。 アクティブ・ログ・データ・セットのコピー 1 には 1、アクティブ・ログ・データ・セットのコピー 2 には 2 を指定します。
推奨: Db2 がデュアルログモードになっている場合は、新しいアクティブなログデータセットのコピー1とコピー2の両方のログデータセットを追加します。
使用上の注意事項 -SET LOG
LOGLOADとCHKTIMEの値が Db2 のパフォーマンスに与える影響 :LOGLOADとCHKTIMEの値は、異常終了後に Db2 を再起動するのに必要な時間に影響を与える可能性があります。 いずれのオプションも、 大きい値にすると再始動時にかかる時間が長くなります。 値が低いと、 Db2 が過剰なチェックポイントを取る可能性があります。 ただし、LOGLOAD(0) または CHKTIME(0) を指定した場合、バッチ・ジョブから発行されたチェックポイント要求は同期型となり、 z/OS または TSO コンソールから発行された場合は非同期型となります。
LOGLOAD(0) と CHKTIME(0) の動作は、データ共用環境で異なります。 SET LOG SUSPEND によってグループ内のメンバーでロギングが中断されている場合は、データ共用環境での SET LOG LOGLOAD(0) または SET LOG CHKTIME(0) の発行を回避します。 LOGLOAD(0) または CHKTIME(0) を指定する場合、SET LOG RESUME コマンドを発行すると、すべてのロギングが再開されるまで同期チェックポイントが中断されることがあります。
現行のチェックポイント・パラメーターを表示するには、DISPLAY LOG コマンドを使用します。 チェックポイントをスケジュールするのに、CHKTIME と LOGLOAD のどちらが使用されているか、または両方が使用されているか確認できます。
LOGLOADまたはCHKTIMEに指定した値は、 Db2 が再起動されると、サブシステム・パラメータで指定した値にリセットされます。 コマンド SET SYSPARM を 発行して別の値をロードする場合は、その新しい値が使用されます。
ロギングを中断する時点: SET LOG SUSPEND を 指定するのは、システム・レベルのポイント・イン・タイム・リカバリーまたは災害時リ カバリーのためのデータベースおよびログ全体のリモート・コピーを作成する前です。 ピアツーピアのリモートリカバリ(PPRC)と FlashCopy® を使用して、リモートコピーを作成することができます。ログを一時停止してデータベースのリモートコピーを作成することで、更新処理を休止させる必要がなくなります。 ロギングが中断されている間、 読み取り専用アクティビティーは継続します。
SET LOG SUSPEND および SET LOG RESUME ウィンドウ間で行われるバックアップには、コミットされていないデータが含まれる場合が あります。 Db2 サブシステム全体をログが中断された時点まで復元する必要がある場合は、データベースとログ全体をバックアップから復元し、 Db2 を再起動して、 Db2 サブシステム全体を一貫性のある状態に復元します。
データ共用環境で SET LOG SUSPEND を使用する場合のデッドロックの回避: データ共用環境でデッドロックを回避するには、最初に 1 つのデータ共用メンバーに SET LOG SUSPEND コマンドを発行し、それが完了するまで待ち、次に残りのメンバーにこのコマンドを発行します。
新たに定義されたアクティブログデータセットが使用される順序:現在、新しいアクティブログデータセットをインベントリに追加してから、 Db2 がそれらのアクティブログデータセットを使用するまでの間に、 Db2 を停止および起動しない場合、 Db2 は、SET LOGコマンドを使用してアクティブログインベントリに追加した順序とは逆の順序でアクティブログデータセットを使用します。 例えば、アクティブ・ログ・インベントリーにデータ・セット DS01、DS02、および DS03 が含まれており、ユーザーがデータ・セット DS04 を追加し、次にデータ・セット DS05 を追加したとします。 データ・セット DS03 がアクティブのときに、ARCHIVE LOG コマンドを発行すると、新しいアクティブ・ログは DS05 になります。 ただし、新しいアクティブなログデータセットを追加してから Db2 がそれらを使用するまでの期間に Db2 を停止して起動すると、使用の順序が異なる場合があります。
この動作は将来変更される可能性があるため、アクティブ・ログの追加と切り替えのスキームは、この順序に依存しないようにする必要があります。
このプロセスは、DSNJU003 ユーティリティー (変更ログ・インベントリー・ユーティリティー) によってデータ・セットがアクティブ・ログ・インベントリーに追加される場合に、データベース・マネージャーが使用する順序とは異なります。 NEWLOG 制御ステートメントを使用して新規データ・セットが追加された後、データベース・マネージャーがアクティブ・ログ・データ・セットを使用する順序は、追加されたときの順序と同じです。
アクティブ・ログ・インベントリーに DS01、DS02、および DS03 が含まれているとします。 2 つの NEWLOG 制御ステートメントを使用して DSNJU003 を実行します。 最初の制御ステートメントはデータ・セット DS04 をアクティブ・ログ・インベントリーに追加し、2 番目の制御ステートメントはデータ・セット DS05 を追加します。 DSNJU003 の実行後、データ・セットは DS01、DS02、DS03、DS04、DS05 の順序で BSDS にリストされます。 現行アクティブ・ログ・データ・セットが DS03 である場合に、データベース・マネージャーが新規アクティブ・ログ・データ・セットに切り替えると、データ・セット DS04 に切り替わります。
例 -SET LOG
-SET LOG LOGLOAD(0) -SET LOG LOGLOAD(150000) -SET LOG SUSPEND -SET LOG RESUME -SET LOG BOTH CHKTIME(10) LOGLOAD(500000) -SET LOG SINGLE LOGLOAD(500000) -SET LOG BOTH 例8: 新しいアクティブログデータセットのコピーをアクティブログインベントリに追加する(Db2 はデュアルログモードです)。
//JOBLIB DD DSN=prefix.SDSNLOAD,DISP=SHR
//NEWLOG EXEC PGM=IKJEFT01,DYNAMNBR=20
//DSNTRACE DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DSN1)
-SET LOG NEWLOG(DSNCAT.LOGCOPY1.DS04) COPY(1)
-SET LOG NEWLOG(DSNCAT.LOGCOPY1.DS05) COPY(1)
-SET LOG NEWLOG(DSNCAT.LOGCOPY1.DS06) COPY(1)
-SET LOG NEWLOG(DSNCAT.LOGCOPY1.DS07) COPY(1)
-SET LOG NEWLOG(DSNCAT.LOGCOPY2.DS04) COPY(2)
-SET LOG NEWLOG(DSNCAT.LOGCOPY2.DS05) COPY(2)
-SET LOG NEWLOG(DSNCAT.LOGCOPY2.DS06) COPY(2)
-SET LOG NEWLOG(DSNCAT.LOGCOPY2.DS07) COPY(2)
END
/*
//SYSIN DD *
/* 以下のメッセージが出されます。
DSNJ363I ) DSNJW106 COPY1 LOG DATA SET
DSNCAT.LOGCOPY1.DS04 ADDED TO THE ACTIVE LOG INVENTORY
DSNJ363I ) DSNJW106 COPY1 LOG DATA SET
DSNCAT.LOGCOPY1.DS05 ADDED TO THE ACTIVE LOG INVENTORY
DSNJ363I ) DSNJW106 COPY1 LOG DATA SET
DSNCAT.LOGCOPY1.DS06 ADDED TO THE ACTIVE LOG INVENTORY
DSNJ363I ) DSNJW106 COPY1 LOG DATA SET
DSNCAT.LOGCOPY1.DS07 ADDED TO THE ACTIVE LOG INVENTORY
DSNJ363I ) DSNJW106 COPY2 LOG DATA SET
DSNCAT.LOGCOPY2.DS04 ADDED TO THE ACTIVE LOG INVENTORY
DSNJ363I ) DSNJW106 COPY2 LOG DATA SET
DSNCAT.LOGCOPY2.DS05 ADDED TO THE ACTIVE LOG INVENTORY
DSNJ363I ) DSNJW106 COPY2 LOG DATA SET
DSNCAT.LOGCOPY2.DS06 ADDED TO THE ACTIVE LOG INVENTORY
DSNJ363I ) DSNJW106 COPY2 LOG DATA SET
DSNCAT.LOGCOPY2.DS07 ADDED TO THE ACTIVE LOG INVENTORY 例 10: 現在使用中のアクティブ・ログ・データ・セットを削除します。