Statspackとは
Statspack設定
statspackでの情報収集
statspackレポートの出力
便利スクリプト
Oracleチューニング講座
第14章 共有サーバー構成での共有プールの割当てについて学ぶ
10章で共有プールの構成や利用
について復習しましたが、共有サーバー構成の場合は共有プールの使われ方が異なります。
具体的には共有サーバー構成(MTS構成)で接続を行った場合は、ソート領域やプライベートSQL領域を含むユーザー・セッションとカーソル状態に関する情報(UGA)は、PGAではなく共有プールに格納されます。そのため、ライブラリ・キャッシュやディクショナリ・キャッシュに使用可能な共有プールのメモリーが減少してしまい、パフォーマンス低下の原因となる可能性が出てきます。
その対処策として共有プールとは別にラージ・プールという領域を用意するという方法があります。ラージ・プールを用意すると共有サーバー・セッションのUGAはラージ・プールを使用しますので、共有プールのメモリーが減少する事がなくパフォーマンス低下を防ぐ事が可能です。よって共有サーバー関連のUGAの割当てには、共有プールではなくラージ・プールの使用をお薦めします。
本章では、共有サーバー構成における共有プールの割り当て方について復習しましょう。
ラージ・プールの設定
ラージ・プールは、LARGE_POOL_SIZEパラメータによってサイズを設定します。
ラージプールはパラレル問合せを使用する際や、Recovery Manager使用時のI/Oバッファとしても使用されます。
表1に設定概要を記します。
表1
LARGE_POOL_SIZEパラメータ
概要
ラージ・プールのサイズを設定する
構文
LARGE_POOL_SIZE = n [ K | M | G ]
デフォルト
以下の両方に該当する場合は0
■パラレル実行によってプールが要求されない
■DBWR_IO_SLAVESパラメータが設定されていない
該当しない場合は、以下のパラメータから導出される
・PARALLEL_MAX_SERVERS、PARALLEL_THREADS_PER_CPU、
CLUSTER_DATABASE_INSTANCES、DISPATCHERS、DBWR_IO_SLAVES
変更の可/不可
可能:ALTER SYSTEM
■設定のガイドライン
まず、V$SESSTATビューの'session uga memory'統計を確認し、UGAで使用されているサイズを調べます。V$SESSIONビューのSERVER列がNONEまたはSHAREDになっている列が、共有サーバー・セッションでUGAで使用されています。
そして共有サーバー・セッションの合計のUGAサイズより大きいサイズをラージ・プールに設定してください。
以下の図1、図2にラージ・プールが設定されていない時と設定されている時の、共有プールの使用状況について説明します。
図1:ラージ・プールが設定されていない時
この場合、UGAは共有プールに獲得されます。
そのため、共有プール内の再利用可能なメモリーが減少してしまい、パフォーマンスの低下を引き起こす可能性があります。
図2:ラージ・プールが設定されている時
ラージ・プールのサイズは、上記で説明したLARGE_POOL_SIZEパラメータで設定します。
ラージ・プールの設定がされている場合は、UGAはラージ・プールに獲得されますので、共有プール内の再利用可能メモリーに影響を与えないので、パフォーマンス低下を防ぐ事ができます。
SORT_AREA_RETAINED_SIZEパラメータ
共有サーバー・セッションによるソートは、SORT_AREA_RETAINED_SIZEで指定したサイズまで共有メモリーを使用します。
しかし、それ以上の領域が必要になるとSORT_AREA_SIZEパラメータの設定値まで、共有サーバー・プロセスのPGAにソート領域がとられます。
そのため、SORT_AREA_RETAINED_SIZEの値をSORT_AREA_SIZEよりも小さく設定すれば、共有サーバー・セッションで使用される共有プール内の領域を抑えることができます。
以下の表2にSORT_AREA_RETAINED_SIZEパラメータの設定概要を記します。
表2
SORT_AREA_RETAINED_SIZEパラメータ
概要
ソート完了後に保持されるUGAの最大サイズを指定
構文
SORT_AREA_RETAINED_SIZE = 整数
デフォルト
SORT_AREA_SIZEから導出される
変更の可/不可
可能:ALTER SYSTEM...DEFERRED、ALTER SESSION
以上で
共有サーバー構成における共有プールの割り当てに
関する説明は終了です。
共有サーバー構成をされている場合、ご参考にしていただけたらと思います。
第15章では、データベース・バッファ・キャッシュのチューニングについて学習します。
第15章 データベース・バッファ・キャッシュのチューニングを学ぶ