• 締切済み

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

Toshi0230の回答

  • 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アプリの話は初耳でした。でも実際にそういった構成ってありえるのかな?と思います。

関連する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サーバーでシステムを行おうと計画をしています。 よろしくおねがいします。