pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14 Tweet
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
_pag_max_sizeに大きな値を設定し、LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)という条件で割り当てられていることを確認してみます!
SYS> alter system flush shared_pool;
システムが変更されました。
SYS> alter system set "_pga_max_size"=3840m;
システムが変更されました。
SYS> alter system set pga_aggregate_target=256m;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 256M
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 256
aggregate PGA auto target 205.734375
global memory bound 51.1992188
SYS> alter system set pga_aggregate_target=512m;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 512M
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 512
aggregate PGA auto target 435.700195
global memory bound 102.399414
SYS> alter system set pga_aggregate_target=768m;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 768M
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 666.518555
global memory bound 153.599609
SYS> alter system set pga_aggregate_target=1g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 1G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 896.52832
global memory bound 204.799805
SYS> alter system set pga_aggregate_target=2g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 2G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1818.44824
global memory bound 409.599609
SYS> alter system set pga_aggregate_target=4g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 4G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3735.43555
global memory bound 819.199219
SYS> alter system set pga_aggregate_target=8g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 8G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7347.50684
global memory bound 1638.39941
まちがいなく、pga_aggregate_targetの20%がglobal memory boundに設定されてます!
さて、pga_aggregate_targetを16GB以上に設定すると、_pga_max_sizeの50%より、pga_aggregate_targetの20%の方が大きくなるため、_pga_max_sizeパラメータの50%のサイズがglobal memory boundに設定されるはず! ではやってみよう!
SYS> alter system set pga_aggregate_target=16g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 16G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 15023.2441
global memory bound 1920
SYS> alter system set pga_aggregate_target=4095g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 3840M
pga_aggregate_target big integer 4095G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773917.55
global memory bound 1920
SYS>
予想通り、_pga_max_sizeの50%がglobal memory boundに設定されてますね。
Oracle11g R1での検証もいよいよ次回が最終回。ということで、次回へつづく。
前回までのあらすじ・・・
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #1
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #2
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #3
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #4
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #5
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #7
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #8
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #9
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #10
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #11
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #12
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13
| 固定リンク | 0
コメント