softmax - リカバリー範囲およびソフト・チェックポイント・インターバル構成パラメーター

このパラメーターは、ソフト・チェックポイントの頻度およびリカバリー範囲を決定します。これは、クラッシュ・リカバリー・プロセスに役立ちます。

重要: softmax データベース構成パラメーターは非推奨になっており、将来のリリースで削除される可能性があります。 詳しくは、 非推奨になったデータベース構成パラメーターを参照してください。

softmax パラメーターは、新規パラメーターの page_age_trgt_mcr および page_age_trgt_gcr に置き換わります。 それらは、どちらも秒数として構成されます。

既存のアップグレード済みデータベースは、引き続き softmax パラメーターを使用します。 softmax を使用しているかどうかは、データベース構成を照会してこのパラメーターの値を検査することによって確認できます。 softmax の値を 0 に設定することにより、softmax の使用からこれらの新規パラメーターに切り替えることができます。

デフォルトでは、softmax の値が 0 に設定されて新規データベースが作成されます。

構成タイプ
データベース
パラメーター・タイプ
構成可能
デフォルト [範囲]
Db2® pureScale® 環境
0 [ 1 - 65 535 ]
Db2 pureScale 環境の外部
0 [ 1 -100 * logprimary ]
注: デフォルト値は、初期データベース作成後に Db2 構成アドバイザーによって変更される場合があります。
単位
1 つの 1 次ログ・ファイルのサイズに占めるパーセンテージ
このパラメーターは、次の場合に使用します。
  • 電源障害などのクラッシュ後に、リカバリーで必要なログ・ファイルの数を制御する場合。 例えば、デフォルト値の 100 を使用すると、データベース・マネージャーは、リカバリーの必要なログ・ファイルの数を 1 に維持しようとします。 このパラメーターの値として 300 を指定すると、データベース・マネージャーは、リカバリーの必要なログ・ファイルの数を 3 に維持しようとします。

    クラッシュ・リカバリーに必要なログ・ファイルの数を調整する際、データベース・マネージャーは、このパラメーターを使用してページ・クリーナーをトリガーし、指定されたリカバリー・ウィンドウよりも古いページがディスクに書き出されていることを保証します。

  • ソフト・チェックポイントの頻度を決定する場合。 これはログ・コントロール・ファイルに情報を書き込む処理です。 この情報は、データベースの再始動が必要な場合に、ログでの開始点を判別するために使用されます。
電源障害などのようなイベントの結果、データベース障害が発生した時点では、データベースに 次のような変更がもたらされている可能性があります。
  • コミットされてはいないが、バッファー・プールのデータを更新してしまった変更
  • コミットされているが、バッファー・プールからディスクに書き込まれてはいない 変更
  • コミットされ、しかもバッファー・プールからディスクに書き込まれてしまった変更
データベースが再始動されると、ログ・ファイルを使用して、 データベースのクラッシュ・リカバリーが実行されます。これにより、データベースが整合状態のままに 置かれる (つまり、コミット済みトランザクションはすべてがデータベースに適用 され、非コミット・トランザクションはすべてがデータベースに適用されていない) ことが 保証されます。

ログ・ファイルからデータベースに適用される必要のあるレコードを判別するために、データベース・マネージャーはログ・コントロール・ファイルに記録された情報を使用します。 (データベース・マネージャーは、実際にはログ制御ファイルの 2 つのコピー (SQLOGCTL.LFH.1SQLOGCTL.LFH.2) を保持しているので、一方のコピーが破損しても、もう一方のコピーを使用できます。) これらのログ・コントロール・ファイルは、定期的にディスクに書き込まれ、このイベントの頻度に応じて、データベース・マネージャーがコミット済みトランザクションのログ・レコードを適用したり、すでにバッファー・プールからディスクに書き込まれてしまった変更を記述するログ・レコードを適用したりします。 これらのログ・レコードがデータベースに影響を及ぼすことはありませんが、ログ・レコードを適用することに よって、データベース再始動処理に多少の処理時間の増加が発生します。

ログ・コントロール・ファイルは、ログ・ファイルがいっぱいになったとき、およびソフト・チェックポイント時には、必ずディスクに書き込まれます。 この構成パラメーターを使用して、ソフト・チェックポイントの頻度を制御することができます。

ソフト・チェックポイントのタイミングは、 logfilsizのパーセンテージとして示される、 現在の状態記録された状態の差に基づいています。 記録上の状態は、ディスク上のログ制御ファイルに示されている最も古い有効なログ・レコードによって決まります。一方、現在の状態は、メモリー内のログ制御情報によって決まります。 (最も古い有効ログ・レコード が、リカバリー処理で最初に読み込まれる ログ・レコードになります)。 ソフト・チェックポイントが取られる のは、次の数式による計算値がこのパラメーターの値より大か等しい 場合です。
  ( (space between recorded and current states) / logfilsiz ) * 100 

推奨: このパラメーターの値は、許容リカバリー・ウィンドウが 1 つの ログ・ファイルより大きいか小さいかによって、大きくしたり小さくしたり することができます。 このパラメーターの値を小さくすると、 データベース・マネージャーがページ・クリーナーを起動する回数が増え、 ソフト・チェックポイントを取る頻度も高くなります。 これらのアクションによって、処理する必要のあるログ・レコードの数 と、クラッシュ・リカバリー時に処理される重複ログ・レコードの数が、両方とも 減らせます。

ただし、ページ・クリーナーの起動回数が増え、 ソフト・チェックポイントの頻度が増すと、データベース・ロギングに関連した 処理時間が増加し、 データベース・マネージャーのパフォーマンスに影響する可能性があることに注意してください。 また、ソフト・チェックポイントの頻度が高くなっても、次のような場合には、データベースの 再始動に必要な時間が短縮できない可能性もあります。
  • 非常に長いトランザクションで、コミット・ポイントが少ない場合。
  • 非常に大きいバッファー・プールがあり、コミット済みトランザクションが入っているページが ディスクに元どおり書き込まれる頻度があまり高くない場合 (非同期ページ・クリーナーを使用すると、この状態を回避できます)。

上記のケースのどちらでも、メモリーに保持されているコントロール情報は頻繁には変更されず、ログ・コントロール情報は、変更されていない限り、ディスクに書き込んでも利点はありません。