LOGAPPLY フェーズの最適化

表スペースのリカバリーに要する時間は、ログ・データを読み取り、適用するのに 要する時間によっても異なります。 いくつかのステップを実行すると、このプロセスを最適化することができます。 最良のパフォーマンスを得られるようにするため、DB2® は、可能であれば、 必要なログ・レコードをアクティブ・ログから読み取ります。

アクティブ・ログで見つからないログ・レコードは、アーカイブ・ログ・データ・セットから読み取られます。 アーカイブ・ログ・データ・セット、要求を満たすために動的に割り振られます。 アーカイブ・ログ・データ・セットに使用されるストレージのタイプは、 パフォーマンスの重要な要因です。 パフォーマンスを向上させるために、以下のアクションを考慮してください。

  • ログのパスが 1 回ですむように、オブジェクトのリストを 1 つ のユーティリティー・ステートメントで RECOVER してください。
  • 可能な限り最良のパフォーマンスを得るためには、アーカイブ・ログをディスク上に保持してください。
  • 最良に次ぐパフォーマンスを得るためには、DFSMShsm を使用して、 アーカイブ・ログ・データ・セットを制御してください。 DB2 は、データ・セットの再呼び出しを最適化します。データ・セットが再呼び出しされた後、DB2 はそのデータ・セットをディスクから読み取ります。
  • アーカイブ・ログをテープから読み取る必要がある場合、DB2 は処理可能 (ready-to-process) 要求 および先読みマウント (look-ahead mount) 要求によってアクセスを最適化します。 後続の RECOVER ジョブで同じアーカイブ・ログ・テープを必要と する場合は、DB2 は磁気テープ装置の割り振り解除の遅延も許可します。 これらの方法については、以下の段落で詳しく説明します。

BSDS には、使用するログ・データ・セットとその存在する場所が入って います。BSDS 情報は最新の状態に維持する必要があります。 アーカイブ・ログ・データ・セットがカタログされる場合、ICF カタログは必要なデータ・セット をどこに割り振るかを示します。

DFSMShsm データ・セット

LOGAPPLY フェーズが始まると、最初の DFSMShsm アーカイブ・ログ・データ・セットの再呼び出し が自動的に開始されます。 再呼び出しが完了し、最初のログ・レコードが読み取られると、 次のアーカイブ・ログ・データ・セットの再呼び出しが開始されます。 この処理は、先読み再呼び出しと呼ばれます。 その目的は、先行するデータ・セットを読み取る間に、次のデータ・セットを再呼び出しすることです。

再呼び出しが完了すると、このデータ・セットは、これを必要とするすべての RECOVER ジョブ で使用可能になります。読み取りが並列に進行します。

非 DFSMShsm テープ・データ・セット

DB2 は、ジョブ全体で必要とされる すべてのテープ・ボリュームをコンソール上に報告します。その報告では、次の 2 つのボリューム・タイプを区別しています。

  • アスタリスク (*) のマークがないボリュームは いずれも、ジョブを完了するために必要なものです。 これらのボリュームは、できるだけ早くテープ・ライブラリーから入手しておく必要があります。
  • アスタリスク (*) のマークがあるボリュームには、 データが入っており、これはアクティブ・ログ・データ・セットの 1 つにも含まれています。 このボリュームは必要な場合もあれば、そうでない場合もあります。

テープがマウントされ、読み取られると、DB2 は次の 2 種類のマウント要求を出します。

  • 処理可能: 現行ジョブでは、このテープを即時に必要として います。DB2 は、テープがロードされるとすぐにこれを割り振り、オープンします。
  • 先読み: これは、現行ジョブで必要な、次のテープ・ボリュームです。 この要求に応答することによって、DB2 は、データ・セットが必要とされる前に 割り振り、オープンすることが可能となり、その結果、ジョブの全体の経過時間が短縮されます。

SET ARCHIVE コマンドの COUNT オプションを指定することにより、アーカイブ・ログの読み取りに 使用される入力磁気テープ装置の最大数を動的に変更することができます。 例えば、次のコマンドでは、DB2 サブシステムに 10 の磁気テープ装置を割り当てます。

-SET ARCHIVE COUNT (10)

DISPLAY ARCHIVE READ コマンドを出すと、現在、マウントされているテープのボリュームと その状況が表示されます。

遅延割り振り解除

DB2 は、 アーカイブ・ログの読み取りに使用される磁気テープ装置の割り振り解除を遅らせることができます。これは、いくつかの RECOVER ユーティリティー・ステートメントを並列に実行するときに有効です。 割り振り解除を遅らせることによって、DB2 は、再割り振りのための時間をとらずに、 同じ磁気テープ装置の同じボリュームを、異なる RECOVER ジョブで再読み取りすることができます。

SET ARCHIVE コマンドの TIME オプションを使用することにより、DB2 が割り振り解除を遅らせる時間を 動的に変更することができます。 例えば、60 分の遅延を指定するには、次のコマンドを出します。

-SET ARCHIVE TIME(60)

データ共用環境では、あるメンバーがリカバリーで必要とする データ・セットを別のメンバーがホールドしないように、(0) を指定するとよいでしょう。

パフォーマンス要約

  1. アーカイブ・ログをディスクに割り振ることによって、最良のパフォーマンスを実現してください。
  2. ログの読み取り処理による割り振りが行われる前に、カタログ済みテープ・データ・セットをディスクに ステージングするように考慮してください。
  3. テープからデータ・セットを読み取る場合は、COUNT および TIME の両方の値を、 システムの制約内での最大許容値に設定してください。