« Panther De Oracle10g 番外編というより訂正 | トップページ | Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #3 »

2007年3月 3日 (土)

Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2

さて、少々間があいてしまったが、前回のつづき

どのようなことが発生していたのか? それは、

PGA_AGGREATE_TARGETで指定したサイズを超えてPGAが割り当てられたため、専用サーバーを新たに起動することができずに接続できなくなるという現象であった。(つまり、一見すると単なるメモリ不足じゃん! という現象だったのであるが。。。。。。)


ということで、今回の話の前の事前知識を。

Windows 2003 Server Enterprize Edition 32bitでは、アドレス空間が4GB、そのうちユーザモードのアドレス空間は、2GB、当然その残りが、カーネルモードのアドレス空間ということに制限される。


oracleはユーザモードで動作する。つまり、32bit環境では最大2GBのアドレス空間までしか利用できない。(3GBスイッチを使用すれば3GBまで拡張できるが、バッファキャッシュが不足している分けでもないし、それなりのリスクもあるため使用しないと決定した。)


Windows版のOracleでは、unix系とは異なり、サーバーがプロセスモデルではなく、スレッドモデルであるということ。
例えば、 unix系では、DBW0やLGWRなどや、共有サーバー、専用サーバーなどすべてが1プロセスだが、Windows環境ではそれらすべてがoracleという1プロセスに於ける1スレッドということになる。専用サーバー接続で、100セッション存在していれば、100スレッド存在しているということになる。
ちなみに、windowsのスレッドを unix系のpsコマンドのようにリストするツールもある。(Pslist.exeなどいろいろ)
http://www.microsoft.com/technet/sysinternals/utilities/pstools.mspx

スレッドモデルであることから、oracle.exeの使用メモリサイズは、各スレッドに利用されているメモリサイズも含んだサイズである。
かなり大雑把な例だが、例えば、専用サーバー接続でセッションが100(100スレッド)あり、各スレッドのメモリサイズが5MBで、SGAサイズが1GBあるとすれば、 1GB+(5MB*100)となり、oracle.exeのメモリサイズは1.5GBになってしまうことになる。
(イメージしやすいよう簡単にしただけで、非常に大雑把な計算なのでご注意を。)


また、Oracleがメモリ上に持つ領域についての前提知識と今回私が体験したPGA_AGGREATE_TARGETを超えてメモリがアロケーションされるという現象については、私もよく参考にしているインサイトテクノロジー社の記事が分かり易いだろう。
http://www.insight-tec.com/html/reference/ref37.html
おら!オラ!Oracle -どっぷり検証生活 - 新・ソートに関する検証 その5

参考として、Oracleの情報満載のサイトに一つであるorafaq.comの解説も載せておく。
http://www.orafaq.com/wiki/SGA
http://www.orafaq.com/wiki/PGA
http://www.orafaq.com/wiki/UGA
http://www.orafaq.com/wiki/CGA
http://otndnld.oracle.co.jp/products/database/oracle10g/pdf/Oracle_db_10g_architecture_on_windows_twp2.pdf
http://www.itmedia.co.jp/enterprise/articles/0505/24/news075.html

尚、ここに書いていないがその際私が検証した内容などを書いてくれていた方(知ってるけどw)が居たので合わせてリンクを追記しておきます。ありがとう。
生肉さんの暇潰し@hatena:ORA-12518まとめ

ここまでは準備運動、次回へつづく。

2009/2/13修正
orafaq.comのSGA/PGA/UGA/CGAの解説urlが変更されたので修正しその他コメント等も少々追記。


ところで、新型のメルセデスベンツ Cクラス、ひょうたんのような目はやめちゃったんですね。BMW 3シリーズを意識しているような目ですけどね。。実物見てみないとなんとも言えない感じが。。。。しますね〜。

内装も画像で見る限り、いい感じではありますけど、、、いずれにしても 2008年モデルということなので来年なんでしょうかねぇ。日本で見れるのは。。。
http://www.autosite.com/content/shared/articles/templates/index.cfm/article_page_order_int/1/article_id_int/2636

|

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/106341/14110573

この記事へのトラックバック一覧です: Mac De Oracle なんですが、Windows(32bit)でのOracleな話 #2:

コメント

コメントを書く