由于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范围以外的。