pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #5 Tweet
前回の続きです。
今回は、Oracle11g EE R1 11.1.0.7.0 for Linux x86で再確認してみます。前回は、64bitのOracle10g R2でしたが今回は32bitのOracle11g R1です。さて何か違いがあるでしょうか?
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 100M
SQL>
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 104857600 FALSE
7行が選択されました。
pga_aggregate_targetを10MB/50MB/1GB/5GB/10GB/100GB/4095GBと、いつものように増加させながらv$pgastatビューのGlobal memory boundでpgaサイズを確認してみます!
SQL> alter system set pga_aggregate_target=10m;
システムが変更されました。
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10485760 FALSE
7行が選択されました。
SQL> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10
aggregate PGA auto target 4
global memory bound 2
SQL> alter system set pga_aggregate_target=50m;
システムが変更されました。
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 52428800 FALSE
7行が選択されました。
SQL> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 50
aggregate PGA auto target 10.7929688
global memory bound 10
SQL> alter system set pga_aggregate_target=1g;
システムが変更されました。
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 214732800 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 1073741824 FALSE
7行が選択されました。
SQL> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 1024
aggregate PGA auto target 895.368164
global memory bound 102.392578
SQL> alter system set pga_aggregate_target=5g;
システムが変更されました。
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073725440 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 5368709120 FALSE
7行が選択されました。
SQL> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 5120
aggregate PGA auto target 4581.67676
global memory bound 511.992188
SQL> alter system set pga_aggregate_target=10g;
システムが変更されました。
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 10737418240 FALSE
7行が選択されました。
SQL> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 10240
aggregate PGA auto target 9190.125
global memory bound 512
SQL> alter system set pga_aggregate_target=100G;
システムが変更されました。
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 107374182400 FALSE
7行が選択されました。
SQL> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 102400
aggregate PGA auto target 92132.8242
global memory bound 512
SQL> alter system set pga_aggregate_target=4095g;
システムが変更されました。
SQL> @show_hidden_pga_param
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ------------------------------
__pga_aggregate_target 134217728 FALSE
_kdli_sio_pga FALSE TRUE
_kdli_sio_pga_top FALSE TRUE
_pga_large_extent_size 1048576 TRUE
_pga_max_size 1073741824 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 4396972769280 FALSE
7行が選択されました。
SQL> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4193280
aggregate PGA auto target 3773917.11
global memory bound 512
SQL>
お〜っ!。 Oracle10g R2のように_pga_max_sizeが自動調整されて増加しているのがわかります。ただ、Oracle10g R2 (64bit)と割当ルールはほぼ同じなようなのですが、1箇所だけ違うようですね。
それは 自動調整される _pga_max_sizeの上限値が、512MBであること。Oracle10g R2 (64bit)では、1GBまで増加したはず!。
このエントリに載せていない確認内容も含めてまとめると…
- Oracle11g R1(32bit)で_pga_max_sizeの値が、1000MBを超えると動的に変化し始める。
- Oracle10g R2 (64bit)と同じ。 - pga_aggregate_targetが1GB近くまでだと、pga_aggregate_targetの20%。
- Oracle10g R2 (64bit)と同じ。 - pga_aggregate_targetが1GB以上になると、_pga_max_sizeが、pga_aggregate_targetの19.999%程度の値に自動設定され、さらにその値の50%。結果的として、pga_aggregate_target値の10%をほんの少し下回る値が設定される。pga_aggregate_targetが5GBである場合、512MBをほんの少し下回るのサイズがpgaとして割り当てられる。
- pga_aggretate_targetが5GBを超えた場合、_pga_max_sizeが1GBで頭打ちとなり、結果的として512MBがPGAとして割り当てられる。つまり自動PGA管理における最大PGAサイズは512MBということになる。(32bit版ではね)
前回までのあらすじ・・・
・Mac De Oracle なんですが、Windows(32bit)でのOracleな話
・Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2
・Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3
・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
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #14
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #15
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #16
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #17
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #18
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #19
・_pga_max_sizeってOracle11gではどうなったっけ? という確認。
・_pga_max_sizeってOracle11gではどうなったっけ? という確認。シーズン2
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #2
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #3
・pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #4
| 固定リンク | 0
コメント