pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #13 Tweet
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その13回目、
_pga_max_sizeはデフォルトのままで、pga_aggregate_targetを増加させていくと、Oracle10g R2と同様に、LEAST(pga_aggregate_target * 0.2, _pga_max_size * 0.5)という条件で割り当てられてるようだ。ということでその確認のつづき。
pga_aggregate_targetが512MBになったところで、_pga_max_sizeの200MBの50%のサイズがglobal memory boundとして設定されるようになった。さらに増加させてその割合に変化がないか確認していく。
SYS> alter system set pga_aggregate_target=768m;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 768M
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 768
aggregate PGA auto target 666.720703
global memory bound 100
SYS> alter system set pga_aggregate_target=1g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 1G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 896.677734
global memory bound 100
SYS> alter system set pga_aggregate_target=2g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 2G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 2048
aggregate PGA auto target 1818.26367
global memory bound 100
SYS> alter system set pga_aggregate_target=4g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3661.89258
global memory bound 100
SYS> alter system set pga_aggregate_target=8g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 8G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7348.25391
global memory bound 100
SYS> alter system set pga_aggregate_target=16g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 16G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 16384
aggregate PGA auto target 14720.5371
global memory bound 100
pga_aggregate_targetを16GBにしても、_pga_max_sizeの50%のサイズである100MBがglobal memory boundに設定されていますね。
最後に、pga_aggregate_targetを4095GBにしてみると〜
SYS> alter system set pga_aggregate_target=4095g;
システムが変更されました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_pga_max_size big integer 200M
pga_aggregate_target big integer 4095G
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773918.45
global memory bound 100
SYS>
・・・中略・・・
SCOTT> @test2
SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT (v2) 100.02 409993216 409993216
0 order by code
SCOTT>
やはり、global memory boundは、_pga_max_sizeの50%のままですね。_pga_max_sizeを大きなサイズにし、pga_aggregate_targetの20%が利用されるかを確認しますよ〜。ということで次回へつづく。
前回までのあらすじ・・・
・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
| 固定リンク | 0


コメント