catalogcache_sz - カタログ・キャッシュ・サイズ構成パラメーター

このパラメーターでは、カタログ・キャッシュがデータベース・ヒープから使用できる最大スペースをページ単位で指定します。

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

このパラメーターは、データベース共有メモリーから割り振られ、システム・カタログ情報を キャッシュに入れる場合に使用されます。 パーティション・データベース・システムでは、それぞれのデータベース・パーティション ごとにカタログ・キャッシュが 1 つずつあります。

個々のデータベース・パーティションでカタログ情報をキャッシュに入れると、データベース・マネージャー は、以前検索された情報を入手するためにシステム・カタログ (またはパーティション・データベース環境におけるカタログ・ノード、あるいはその両方) に アクセスする必要がなくなるので、その処理時間を低減できます。 カタログ・キャッシュを使用することにより、次の操作の総合的なパフォーマンスを向上することができます。
  • パッケージのバインド、および SQL と XQuery ステートメントのコンパイル
  • データベース・レベル特権のチェック、ルーチン特権、グローバル変数特権、およびロール許可を伴う操作
  • パーティション・データベース環境で非カタログ・ノードに接続されるアプリケーション

サーバーまたはパーティション・データベース環境でデフォルト (-1) を取ることによって、ページ割り振りの計算に使用される値は、maxappls 構成パラメーターに指定されている値の 5 倍になります。 これに対する例外が生じる のは、maxappls の 5 倍が 8 より小さい場合です。 この状態では、デフォルト値 -1 で、catalogcache_sz8 に設定されます。

推奨: デフォルト値で開始し、データベース・システム・モニターを使用して調整してください。 このパラメーターを調整するときは、カタログ・キャッシュ用として 予約されている余分のメモリーについて、例えば、バッファー・プールやパッケージ・キャッシュ などといった別の目的に割り振った方が、その有効性が増すかどうか考慮する 必要があります。

短時間に SQL または XQuery コンパイルが集中し、その後はほとんど発生しないようなケースでは、 このパラメーターの調整が特に重要です。 キャッシュが大き過ぎる場合は、使用されなくなった情報のコピーの保留に メモリーが浪費される可能性があります。

パーティション・データベース環境では、非カタログ・ノードで必要とされるカタログ情報は、必ず 最初にカタログ・ノードでキャッシュに入れられるので、カタログ・ノード の catalogcache_sz は、設定値を大きくする 必要があるかどうか考慮してください。

cat_cache_lookups (カタログ・キャッシュ 参照数)、cat_cache_inserts (カタログ・キャッシュ 挿入)、cat_cache_overflows (カタログ・キャッシュ・ オーバーフロー)、および cat_cache_size_top (カタログ・キャッシュ 最高水準点) モニター・エレメントは、この構成パラメーターを調整する必要があるかどうか 判別する場合に役立ちます。

注: カタログ・キャッシュは、パーティション・データベース環境のすべてのノードに存在します。 それぞれのノードごとにローカル・データベース構成ファイルがあるので、それぞれのノードの catalogcache_sz 値によって、ローカル・カタログ・キャッシュのサイズが定義されます。 キャッシングが効率的に行われ、オーバーフローが発生しないようにするために、それぞれのノードで catalogcache_sz 値を明示的に設定し、非カタログ・ノードの catalogcache_sz をカタログ・ノードの値よりも小さい値に設定できる可能性を考慮する必要があります。非カタログ・ノードでキャッシュに入れる必要のある情報は、カタログ・ノードのキャッシュから検索されるということを念頭に置いておいてください。 したがって、非カタログ・ノードのカタログ・キャッシュは、カタログ・ノードのカタログ・キャッシュにある情報のサブセットのようなものです。

一般的に、キャッシュ・スペースが多く必要になるのは、作業単位に幾つもの動的 SQL または XQuery ステートメントが含まれる場合、または多数の静的 SQL または XQuery ステートメントが含まれるパッケージをバインドする場合です。