由于windows 2000是基于32bit的系统,因此,单个进程的地址空间被限制在4G(2 power 32)范围内,同时,由于操作系统内核有保留了2g作为系统地址空间,因此,单进程的可访问地址空间就只有2G了。
在这种情况下, 可以在boot.ini中使用/3gb来使可访问内存增加到3g。
但是对于内存大于4G的系统,又应该如何使用这些内存呢?windows 提供了一个PAE的特性。PAE实际上把地址空间由32位增加到了36位。要使用PAE,应用程序必须使用(Address Windowing Extensions ,或AWE)API写成,Oracle8i,9iR2已经支持AWE,9iR1却不具备。要使oracle能够使用windows的PAE,可以在BOOT.INI中使用/PAE。同时, 在init.ora中添加USE_INDIRECT_DATA_BUFFERS=TRUE,如果没有enable这个选项,oracle将不能访问4g以上的空间。同时,在HKEY_LOCAL_MACHINE/ Software/Oracle/HOME0中设置AWE_WINDOW_MEMORY参数值,这个参数值决定了多少内存来至于3gb范围内,如果没有设置, oracle的默认值为1G。
假设DB_CACHE_SIZE=6G,AWE_WINDOW_MEMORY=1G,那么,将有5G Buffer Cache 是来自于4G范围以外的。

Windows 2000单进程可访问地址空间仅2G,可通过boot.ini的/3gb使可访问内存增至3G。对于内存大于4G的系统,Windows提供PAE特性,需应用程序使用AWE API编写,Oracle 8i、9iR2支持。要使Oracle使用PAE,需在BOOT.INI用/PAE,init.ora添加相关选项并设置注册表参数。
356

被折叠的 条评论
为什么被折叠?



