データベース構成パラメータは、データベースレベルでの構成を定義するパラメータです。DB2が使用するメモリとしては、データベースグローバル・メモリ、アプリケーショングローバル・メモリ、エージェント専用メモリがあり、ここではそれらにについて設定します。
取得例
db2 connect to <データベース名>
db2 get db cfg for <データベース名> show detail
db2 terminate (あるいは、db2 connect reset)
前回説明したデータベースマネージャー構成パラメータと同様に、自動設定となっているパラメータがあり、その設定値を確認するためには「show detail」オプションをつける必要があります。「show detail」オプションを実行するためには、データベースに接続してからコマンドを実行する必要があります。
下記に標準結果を出力した例を示します。
(画像をクリックすると別ウィンドウに拡大表示します)
遅延値とは、このあとインスタンスを再起動したときに設定される値です。パラメータを変更したものの、即時には反映されないものは、その設定値をこの遅延値で確認できます。
またデータベースマネージャー構成パラメータと同様に、DB2のマニュアルではこれらのパラメータについても、パフォーマンスへの影響について記載されていますので、以下を参照ください。
次にパフォーマンスへの影響が高(あるいはHigh)をあげます。
- DFT_DEGREE
- パーティション内並列処理の多重処理度の指定(「dbm cfg : INTRA_PARALLEL=YES」が前提)。
- CATALOGCACHE_SZ
- カタログ・キャッシュのサイズ(DB2オブジェクトの定義情報、統計情報などを格納)。
- LOGBUFSZ
- ログ・バッファのサイズ。
- LOCKLIST
- ロック情報を管理するメモリ(ロックリスト)のサイズ。
- SHEAPTHRES_SHR
- 共用ソートで使用するメモリ合計使用量についての制限値の指定。
- SORTHEAP
- ソート処理(専用ソートおよび共用ソート)で使用可能な最大ページ数(4KB単位)の指定。
- PCKCACHESZ
- パッケージ・キャッシュのサイズ(SQLのアクセス・プランを格納)。SQLの実行状況の情報も格納されているため、チューニング時に実行情報を取得できるSQL数はこのパラメーターのサイズに依存する。
- MAXLOCKS
- 1つのアプリケーションで最大利用できるロックリストの領域(%)。これを超えるとロックエスカレーションが発生する。
- CHNGPGS_THRESH
- バッファープールのうち何%まで更新済みのデータとなったら、それらのデータのディスクへの書き出しを行うようにするかの指定。一般的にこの処理は、チェックポイントとはならないため、SOFTMAXパラメーターでデータの書き出しを行うようにする。
- NUM_IOCLEANERS
- 更新済みデータをバッファプールからディスクに書き出すIOページ・クリーナー・プロセスの数の指定。
- NUM_IOSERVERS
- プリフェッチが実行されるときに、データをディスクからバッファプールに読み込むIOサーバ(プリフェッチャー)プロセスの数の指定。
- SEQDETECT
- これをYESにすると、DB2はI/Oを監視して、順次読み込みがなされていることがわかると、処理の途中からプリフェッチ処理を有効化しる。
- AVG_APPS
- アクティブなアプリケーションの平均数。これにより、各アプリケーションでどのくらいのバッファプールを使用することができるかをオプティマイザが見積もって、アクセス・プランを生成する。
- MINCOMMIT
- 複数のコミットをまとめて処理(グループコミット)するときの、まとめるコミット処理の数の指定。ただし、V8.2以降はグループコミット機能はなくなっており、このパラメーターの指定は「1」が推奨。
- MIN_DEC_DIV_3
- 10進数(decimal)除算での位取り計算方法の指定。このパラメータは、「get db cfg」コマンドでは表示されません。
表1:データベース構成パラメータの重要項目
|