pckcachesz - パッケージ・キャッシュ・サイズ構成パラメーター

このパラメーターは、データベース共有メモリーから割り振られ、データベース上の静的および動的 SQL および XQuery ステートメントのセクションをキャッシュするために使用されます。

構成タイプ
データベース
パラメーター・タイプ
  • オンラインで構成可能
  • Db2® pureScale® 環境のメンバーにより構成可能
伝搬クラス
即時
デフォルト [範囲]
32 ビット・オペレーティング・システム
自動 [-1, 32 - 128 000]
64 ビット・オペレーティング・システム
自動 [-1, 32 - 2 147 483 646]
注: デフォルト値は、初期データベース作成後に Db2 構成アドバイザーによって変更される場合があります。
単位
ページ (4 KB)
割り振られるタイミング
データベースの初期化時
解放されるタイミング
データベースがシャットダウンされるとき

パーティション・データベース ・システムでは、データベース・パーティションごとに 1 つのパッケージ・キャッシュがあります。

パッケージをキャッシュすると、データベース・マネージャーの場合はパッケージを再ロードするときにシステム・カタログにアクセスする必要がなくなるために内部処理時間が減少し、また動的 SQL または XQuery ステートメントの場合はコンパイルする必要がなくなることによって、内部オーバーヘッドが減少します。 セクションは、以下のイベントのいずれかの状況になるまで、パッケージ・キャッシュ内に 保持されます。
  • データベースがシャットダウンされるとき
  • パッケージまたは動的 SQL または XQuery ステートメントが無効にされる時
  • キャッシュがスペースを使い果たした時

静的または動的 SQL または XQuery ステートメントのセクションのこのキャッシュは、 データベースに接続されたアプリケーションによって同じステートメントが複数回使用される場合に、 特にパフォーマンスを改善することができます。 これは、トランザクション処理環境では特に重要です。

このパラメーターは、AUTOMATIC に設定されると、セルフチューニングが使用可能になります。 self_tuning_memON に設定すると、メモリー・チューナーは、pckcachesz によって制御されるメモリー領域のサイズを、ワークロード要件の変化に応じて動的に変更するようになります。 メモリー・チューナーは異なるメモリー・コンシューマーの間でメモリー・リソースをやりとりするので、セルフチューニングをアクティブにするためには、少なくとも 2 つのメモリー・コンシューマーのセルフチューニングが使用可能になっていなければなりません。

この構成パラメーターの自動チューニングは、セルフチューニング・メモリーがデータベースに対して使用可能なとき (self_tuning_mem 構成パラメーターが ON に設定されているとき) にのみ行われます。

このパラメーターを -1 に設定すると、ページ割り振りの計算に使用される値は、maxappls 構成パラメーターに指定された値の 8 倍になります。 maxappls の 8 倍が 32 よりも小さい場合は、例外となります。 この場合、デフォルト値 -1 を指定すると pckcachesz32 に設定されます。

推奨: このパラメーターを調整するときは、パッケージ・キャッシュ用に予約されている余分なメモリーが、バッファー・プールまたはカタログ・キャッシュなどの別の目的のために割り振られた場合にさらに有効に使用できるかどうかを考慮する必要があります。 上記の理由により、このパラメーターの調整時には、ベンチマーク技法を 使用してください。

このパラメーターの調整は、いくつかのセクションが最初に使用され、 その後は 2、3 のセクションだけが繰り返し実行される場合に特に重要です。 キャッシュが大きすぎると、最初のセクションのコピーを保留している分だけ メモリーが無駄になっています。

これらのモニター・エレメントは、この構成パラメーターを調整すべきかどうかの判別に役立ちます。
  • pkg_cache_lookups (パッケージ・キャッシュ参照)
  • pkg_cache_inserts (パッケージ・キャッシュ挿入)
  • pkg_cache_size_top (パッケージ・キャッシュ最高水準点)
  • pkg_cache_num_overflows (パッケージ・キャッシュ・オーバーフロー)
注: パッケージ・キャッシュは作業キャッシュであるため、このパラメーターをゼロに設定することはできません。 現在実行されている SQL または XQuery ステートメントのすべてのセクションを保留するには、 このキャッシュに十分なメモリーが割り振られていなければなりません。 現行の必要スペース以上のスペースが割り振られている場合、セクションがキャッシュされます。 これらのセクションは、次に必要とされるときにはロードやコンパイルをせずに 実行できます。

pckcachesz パラメーターによって指定された制限は緩やかな制限です。 メモリーがデータベース共有セットでまだ使用可能な場合、必要であればこの制限を超えることが可能です。 パッケージ・キャッシュが一番大きくなったサイズを判別するには、pkg_cache_size_top モニター・エレメントを使用し、pckcachesz パラメーターによって指定された制限を超えた回数を判別するには、pkg_cache_num_overflows モニター・エレメントを使用することができます。