pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? #6 Tweet
2010/11/25追記
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? その6回目、
前回までで、Oracle10g R1 (32bit)がpga_aggregate_targetパラメータと_pga_max_sizeパラメータをどのように使ってpgaの作業領域を割り当てているか見えたのですが、念押しでもういっちょw.
_pga_max_size * 50% が使われるというところをデフォルトの200MB以外でも確認して、Oracle10g R1 (32bit)での検証はおわりにしたい。:)
_pga_max_sizeパラメータは隠しパラメータなのでOracle Supportの指示なしには変更しないパラメータ、遊ぶ場合は、趣味の環境等でやってね :)
_pga_max_sizeを400MB/800MBと変更し、pga_aggregate_targetも4GB/8GBと設定する。Oracleがきまぐれで割り当てていないのであれば、 LEAST(_pga_max_size*0.5, pga_aggregate_target*0.05)より、200MB/400MBがglobal memory boundとして設定されるはず。
SYS> alter system set "_pga_max_size" = 400m;
システムが変更されました。
SYS> alter system set pga_aggregate_target = 4g;
システムが変更されました。
SYS> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SYS> startup
ORACLEインスタンスが起動しました。
Total System Global Area 293601280 bytes
Fixed Size 778888 bytes
Variable Size 116137336 bytes
Database Buffers 176160768 bytes
Redo Buffers 524288 bytes
データベースがマウントされました。
データベースがオープンされました。
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 400M
pga_aggregate_target big integer 4G
SYS>
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 4096
aggregate PGA auto target 3673.17773
global memory bound 200
SYS>
・・・中略・・・
SCOTT> @test2
SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT 172.89 409993216 409993216
0 order by code
・・・中略・・・
SYS> alter system set "_pga_max_size" = 800m;
システムが変更されました。
SYS> alter system set pga_aggregate_target = 8g;
システムが変更されました。
SYS> shutdown
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SYS> startup
ORACLEインスタンスが起動しました。
Total System Global Area 293601280 bytes
Fixed Size 778888 bytes
Variable Size 116137336 bytes
Database Buffers 176160768 bytes
Redo Buffers 524288 bytes
データベースがマウントされました。
データベースがオープンされました。
SYS>
SYS> show parameter pga
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
_pga_max_size big integer 800M
pga_aggregate_target big integer 8G
SYS>
SYS> @pgastat
NAME size(MB)
-------------------------------------------------- ----------
aggregate PGA target parameter 8192
aggregate PGA auto target 7359.09961
global memory bound 400
SYS>
・・・中略・・・
SCOTT> @test2
SQL_TEXT OPERATION_TYPE last_mem(MB) LAST_TEMPSEG_SIZE MAX_TEMPSEG_SIZE
---------------------------------------- -------------------- ------------ ----------------- ----------------
select * from code where rownum <= 10000 SORT 370.66 409993216 409993216
0 order by code
ということで、Oracle10g R2 編へつづく。
前回までのあらすじ・・・
・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
| 固定リンク | 0
コメント