• 締切済み

Windows 32BitOS上で稼動するOracleのメモリの上限に

Windows 32BitOS上で稼動するOracleのメモリの上限についての質問です。 現在、2台のクラスタで構成されたWindowsServerのOracleデータベースの移行を検討しております。 移行するサーバのスペックは以下の通りです。 OS:Windows2000 AdvancedServer(32Bit) 2台のOFSを使用したクラスタリング構成(アクティブ・スタンバイ) DB:Oracle 9i 搭載CPU:Xeon2.80GHz ×2 搭載メモリ:2.6GB 新規に構築するサーバは以下の構成を検討しています。 OS:Windows2003Server EnterPriseEdition(32Bit) 2台のOFSを使用したクラスタリング構成(アクティブ・スタンバイ) DB:Oracle 9i 搭載CPU:Xeon2.93GHz(4Core) 搭載メモリ:4.0GB 要件として、OracleのVersionUp、64Bitへの変更の検証が出来ないとなった為、上記構成になりました。 現在、複数のDBインスタンスをクラスタグループ化して稼動させています。 移行にあたって、DBインスタンスを増やしたいという要件が出た為、合わせて新規構築するサーバのメモリの増強を検討しております。 そこで、32BitOS上での4GB以上のメモリの搭載について質問させて下さい。 Windows2003Server EnterPriseEdition(32Bit)では、最大64GBまでメモリを搭載できますが、32Bitで作成されたアプリケーションでは、1プロセスあたり最大2GBまでしか使用出来ないという点までは認識しております。 この、最大2GBという制約はOS上のプロセス一つ一つが2GB以上メモリを使用出来ないという認識であっていますでしょうか。 Oracleサーバ上で複数のDBインスタンスを稼動させた場合、プロセス:Oracle.exeが複数起動することになりそれぞれのメモリの使用量が2GBまでと考えております。 その為、1インスタンスで2GB以上のメモリを消費するようなアプリケーションの構築は32Bitのアプリケーションという時点で不可能だと思いますが、複数のインスタンスを稼動させる(=複数のOracleプロセスを立ち上げる)場合、4GBを超えて大量のメモリを搭載することは意味があると考えています。 ※この場合、4GBという数字自体は意味が無いと思います。 CPU、DiskI/O等、Networkその他が、システムのボトルネックにはならないという前提で考えた場合、この観点で32BitOSでメモリの増強を検討するという認識は合っていますでしょうか。 以上、宜しくお願いいたします。

みんなの回答

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

このあたり、私もMSのKB等で見聞きしただけなので、間違っているかもですが… まずAWEについては、先の回答で紹介したページの以下の部分を見ていただければ概要がわかるかと思います。 ---- AWE は、メモリ マネージャ機能を利用するための一連の API (アプリケーション プログラミング インターフェイス) です。プログラムで AWE を使用することにより、標準の 32 ビットのアドレス指定によって使用可能な 4 GB を超えるメモリをアドレス指定することができます。 ---- ---- AWE は、プログラムが大きなメモリ範囲を予約するための API です。 ---- ---- 4 GB を超えるメモリの範囲は、PAE によってメモリ マネージャと AWE 機能に公開されます。PAE がなければ、AWE は 4 GB を超えるメモリを予約できません。 ---- つまり、PAEにてOSが4GB超のメモリを管理できる様にし、AWEでプロセスが2GB(カーネル空間含めると4GB)のプロセス空間を超えてメモリを確保できるようにする、という物です。 AWEがAPIである以上、これに対応しているかどうかはアプリケーションに依存します。 Oracle9iがAWEに対応しているかどうかは、Oracleに聞けば教えてくれるかと思います。 余談ですが、x64版OS上で32bitアプリケーションを実行する場合、アプリケーションには4GBの「実メモリ空間」が割り当てられるそうです。 http://itpro.nikkeibp.co.jp/article/COLUMN/20051118/224885/

hhhhiguchiiii
質問者

お礼

>Toshi0230さん ご回答有難うございます。 やはりそういうことなんですね。 PAEとOracleのAWEを使用するのであれば、当然その機能の検証も必要になり・・・・・・。 結局64Bitの検証を含めて提案したほうが良さそうですね。 私の認識では、プロセスが要求したメモリに対して、実メモリ(もしくは仮想メモリ)のどの部分を割り当てるのかはOSの仕事という認識があった為、OSさえ4GB以上を認識していれば複数の個々のプロセスは4GBを超えたアドレス範囲のメモリ空間に配置できる、と思ってました。 実際はやはりアプリケーション自体が直接4GBを超えるアドレスを指定出来ないとユーザープロセスの合計が2GBという制約からは逃れられないといったところでしょうか。 PAEの設定のみで大丈夫なのであれば提案も出来そうだったのですが・・・。 思いつく手としては、実メモリを5GB搭載しPAEと3GBスイッチを使用しユーザープロセスは3GB、カーネルプロセスは2GBというようなことが出来ないのかな?と考えていますが、もう少し勉強してみます。 x64版OS上で32bitアプリの話は初耳でした。でも実際にそういった構成ってありえるのかな?と思います。

全文を見る
すると、全ての回答が全文表示されます。
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.1

>最大2GBという制約はOS上のプロセス一つ一つが2GB以上メモリを使用出来ない その通りです。 > 複数のインスタンスを稼動させる(中略)場合、4GBを超えて大量のメモリを搭載することは意味がある 確かWindowsではOracle 1インスタンスが1つのWindows サービスとして動作していましたよね。で有れば意味はあると思います。 このあたりの情報は私の回答よりは以下のサポートページを見て頂く方が説得力有ると思います。 http://support.microsoft.com/kb/283037/ja まぁ、個人邸には64bit OS上でOracleを動作させるとかOracleも64bit版にするとかができるのであればそうしたいと思いますが…色々あるのでしょうからこれ以上は突っ込みません:-)

hhhhiguchiiii
質問者

お礼

>Toshi0230さん 回答ありがとうございます。 64bitOSにしたり、Oracleも64Bitにしたり・・・とは本当は私もやりたいのですがOracleDBを保守・運用しているのが弊社ではない為、他社の工数の言いなりになってしまうという・・・。愚痴っても仕方ありませんね。 もし、ご存知でしたら補足で質問させて下さい。 WindowsのBoot.iniのPAEスイッチをONにして、OS上で4GB以上のメモリを認識させる必要があるということまでは理解しております。 その上で改めて疑問なのですが、OS上のメモリを2GB以上で使用する為のAWE(Address Windowing Extensions)の設定とはプロセス(アプリケーション)毎の設定値なのでしょうか、それともOS全体の設定なのでしょうか。 参考資料に書かれている、アプリケーションで2GB以上のメモリを使用するにはAWEの設定を行ったアプリケーションプログラムでなくてはならないという文章をいたるところで発見するのですが、今回のように複数、大量のプロセスを使用した場合についての記述が見当たりませんでした。 例:PAEスイッチを使用して8GBのメモリをOS上に認識させた場合のプロセス Oracle.exe(1) 使用メモリ 1.5GB Oracle.exe(2) 使用メモリ 1.5GB Oracle.exe(3) 使用メモリ 1.5GB Oracle.exe(4) 使用メモリ 1.5GB Oracleプロセスに限ったことでは無いと思うのですが、上記のようなプロセスが同時に1サーバ上で稼動すると合計は6GBを実メモリ上から使用しようとすることになります。 現時点では一つ一つのプロセスが2GBを超えていない為、AWEの特別な設定が必要では無いと認識しておりますが合っていますでしょうか。 AWE設定とはOS上にある2GB以上(ユーザースペースとして)のメモリ空間を使用する為の設定なのか、1プロセスが2GB以上のメモリ空間を使用する為の設定なのかという点について疑問が解消出来ませんでした。 もし、ご存知でしたら宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 32bitOSの4GB以上のメモリについて

    いつも参考にさせていただいています。 32bitOSへの4GB以上のメモリ搭載について質問です。 4GBまでであれば、PAEや/3GBオプションでカーネル1GB+プロセス3GBにすることができると思います。 しかしOSがEnterpriseEditionで32bitで16GBくらいのメモリを搭載した場合、このPAEオプションはどのように動くのでしょうか。 カーネル4GB+プロセス12GBなど、振り分けできるのでしょうか。 SQLServerだと、AWEという機能でプロセスにかなりのメモリを割り当てることができるようなのですが、ORACLE等の他のソフトでも同等の機能があるのでしょうか。 よろしくお願いします。

  • 64bitOSはメモリを多く積んだほうが速くなる?

    Windows 7 Home Premium/Professional 64bit搭載のノートPCを使用しています。 64bitOSは4GB以上のメモリの扱いが可能とのことですが、 たとえば4GBより8GBにしたら、動作が速くなったりするのでしょうか。

  • Oracleについて教えて下さい。

    Oracle10GR2 ASM管理のディスクグループとOracleメモリ割当についての質問です。  ※OS:WIN2K3 x64 DB:シングルインスタンス (1)ディスクグループの構成を外部冗長のストライプ無しにした場合の性能劣化具合 (2)一時表領域とデータ表領域を同じディスクグループに配置した場合の性能劣化具合 (3)物理メモリ8GB搭載、Oracle割当4GB、PGA_AGGREGATE_TARGET割当を100MBにした場合の性能問題(データサイズは約300GB) ※300GBのEXPDPも想定しています。 (4)現在割当てている各Oracleメモリサイズを変更せずにPGA_AGGREGATE_TARGETのみ増やす方法 以上、宜しくお願いします。

  • 32bit処理はメモリ使用量に制限ある?

    Win7の64bitを使用しています 32bit処理のゲームをするときにかくかくする事があるんです その時にタスクマネージャーを見ると ゲームのプロセスがメモリを2GBぐらい使用していることが多くあります ですが、PCに搭載するメモリは8GBなのでまだ余裕があるはずなんです 裏で大したプログラムは動かしていないので でそこで思ったのですが、32bit処理されていると 32bitOS同様に2GBまでしかメモリを割り当てできないなんて事はありますか? もしそのような事があるなら32bitOSの3GBスイッチのような対策手段はありますか?

  • 32bitのアプリは、64bitOS上ではメモリが4GB以上使われるか

    32bitのアプリは、64bitOS上ではメモリが4GB以上使われるのでしょうか? PCのメモリは8GBを積んでおります。3DCGソフトは32bit版です。 32bitのソフトのままでOSを64bitに変えた場合、 8GBのメモリは、有効に使えますか?

  • 物理メモリ2Gある場合、SHARED_POOL_SIZEはどの程度とればよいか?

    オラクルDBサーバーの設定値の一つであるSHARED_POOL_SIZEは物理メモリ全体が2Gある端末においては、どの程度を割り当てれば無難でしょうか? 目安レベルで構いませんので、ご経験のある方は大体の値を教えていただけませんか? <スペック> OS:Windows2003 Server CPU:Pen4 3.0G メモリー:2G Oracleバージョン:Oracle Database EnterpriseEdition 9.2.0.6

  • Oracle10gのデータベースの移行について

    Oracle10gのデータベースの移行について質問です。 Oracle10g が稼動しているサーバ機があります。 老朽化の為、新しいハードウェアへ入れ替える事になりました。 OSは、入れ替え前も入れ替え後もWindows Server 2003です。  DB: Oracle10g → Oracle10g  OS: Windows Server 2003 → Windows Server 2003 現行のサーバ上では4つのインスタンスが稼動しています。 新しいサーバ上に、同じ構成でそのまま移行する方法を検討していますが、下記のような方法で大丈夫なものでしょうか? (1)新しいサーバ上にOracle10gを初期データベースなしでインストールする (2)新しいサーバ上で新規のOracleインスタンスを4つ作成する (ORADIMツールを使用) (3)現行のサーバ上の各インスタンス・Oracle関連サービスを停止し、オフラインでデータベース関連のファイルのバックアップを取得する (4)現行のサーバから、新しいサーバへ、オフラインで取得したバックアップファイルを転送する (5)新しいサーバ上の各インスタンス・Oracle関連サービスを停止する (6)新しいサーバ上から、(3)で取得したファイルと同じファイルを削除する (7)新しいサーバ上で、バックアップしたファイルを現行のサーバと同じ位置に配置する (8)新しいサーバ上のOracle関連サービスと各インスタンスを起動し、動作を確認する どなたか、回答宜しくお願い致します。

  • 64bitOS と32bitオフィスのメモリ

    OSの32bit版というのはメモリが最大4GBしか使えないですね。 64bitだとはるかにメモリを搭載できます。 ここで疑問なのですが、Officeにも32bit 64bit版があって実は社内のAccessデータベースが32bit版でしか使えないため、Officeを32bitにせざるを得ないのです。 OSはWindows10の64bit版。 さてこのOffice32bitが使えるメモリはやはり4GBが上限なのでしょうか? AccessとExcelの両方が開いているとして、合計で4GBなのでしょうか? さらにはOfficeとOSシステムと合わせて4GBでしょうか? またはシステムが使うメモリが4GBだとして、Office用に4GB 合計で8GBもあれば、それ以上の16GBとか搭載しても無駄、ということでしょうか。

  • Oracleでインスタンスを複数にしたい

    初めて質問させていただきます。 Oracleの初心者です。 仕事でOracleインスタンスを複数にして欲しいと言われ方法を 検索したのですが、なかなか見つかりません。。 どうしたら、インスタンスを複数にできますか? 初歩的(?)なことで恥ずかしいのですが分からなくて困っています。 回答よろしくお願い致します。

  • ORACLEについて

    ORACLEでDBを構築しようと思っているのですが、 ORACLE8とORACLE8iとはどう違うのですか? 今手元にその二つのソフトがあるのですがどちらを使えばよいかわかりません。ちなみにwebサーバーでシステムを行おうと計画をしています。 よろしくおねがいします。

このQ&Aのポイント
  • 炉の中の雰囲気ガスの濃度についての疑問
  • 炉の内部での酸素濃度維持方法の探求
  • 炉の圧力と内部酸素濃度の関係についての疑問
回答を見る