32bitと64bitのOracle10gでも_pga_max_sizeの値は同じ。 Tweet
実は_pga_max_sizeの扱いがOracle10g R2以降ひっそりと変更されていた!という事実。Season2という後付けのタイトルで後日談を書いておきましたので次いでに見ておくとちょっとは幸せになるかも…
pga_aggregate_targetでPGA?、_pga_max_sizeでPGA? Season2 #1
バージョンはOracle10g ですが、Oracle10g R1までとOracle10g R2以降では32bit版と64bit版のPGA関連で違いがあるという話を聞いたので、暇な時に調べようかなというネタのタネ。
久々にMac De Oracleらしく、MacOSX版Oracle10gでございます :)
まずは、Oracle10g R1 for MacOSX Server (PowerPC) 。こちらは32bitのはず。v$sessionのpaddr列からも確認できるように32bitだね
SYS> select * from v$version;
BANNER
----------------------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Prod
PL/SQL Release 10.1.0.3.0 - Production
CORE 10.1.0.3.0 Production
TNS for MacOS X Server: Version 10.1.0.3.0 - Production
NLSRTL Version 10.1.0.3.0 - Production
SYS> !file $ORACLE_HOME/bin/oracle
/Volumes/Discus/4oracle/oracle/u01/app/oracle/product/10.1.0/tigerx/bin/oracle: setuid setgid Mach-O executable ppc
SYS> select paddr from v$session where username='SYS';
PADDR
--------
610F79E8
SYS> col ksppinm for a30
SYS> col ksppstvl for a30
SYS> l
1 select
2 a.ksppinm
3 ,b.ksppstvl
4 ,b.ksppstdf
5 from
6 x$ksppi a join x$ksppcv b
7 on a.indx = b.indx
8 and a.ksppinm like '%pga%'
9 order by
10* a.ksppinm
SYS> /
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------------------------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 96468992 FALSE
SYS>

次ぎは、Oracle10g R2 for MacOSX Server(Intel x86-64)。 v$sessionのpaddr列からも64bitだと確認できます。
SYS> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for MacOS X Server: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
SYS>
SYS> !file $ORACLE_HOME/bin/oracle
/Users/shared/u01/app/oracle/oracle/product/10.2.0/db_1/bin/oracle: Mach-O 64-bit executable x86_64
SYS> select paddr from v$session where username='SYS';
PADDR
----------------
0000000194664920
SYS>
SYS> l
1 select
2 a.ksppinm
3 ,b.ksppstvl
4 ,b.ksppstdf
5 from
6 x$ksppi a join x$ksppcv b
7 on a.indx = b.indx
8 and a.ksppinm like '%pga%'
9 order by
10* a.ksppinm
SYS> /
KSPPINM KSPPSTVL KSPPSTDF
------------------------------ ------------------------------ ---------
_pga_large_extent_size 1048576 TRUE
_pga_max_size 209715200 TRUE
_use_ism_for_pga TRUE TRUE
pga_aggregate_target 203423744 FALSE
SYS>

バナーには 64bitという表記は無いOracle10g R2 for MacOSX Serverですが、32bitのMacOSX版Oracle10g R2は存在しないのでMacOSXに限っては 64bit Productionの表示はないのかな? と勝ってに思っている。
32/64bitの両リリースのあるプラットフォームではバナーに64bit表記がなければ32bit版となっているが、そもそも32bit版がないのだから区別する必要はないということかな。
上記結果からは間違いなくOracle10g R2 for MacOSX Serverは、64bit版ですね! キッパリ!
で、本当に知りたかったのはそれじゃなくて…
64bit版、Oracle10g R2でも _pga_max_sizeは200MBなんだよね!ってこと。 64bit版でメモリ沢山積んでても今のところこの値は変わってないよねってこと。
あとで、いろいろと遊ぶつもりなのでそのネタの事前確認なのであるw
| 固定リンク
コメント