在Windows 2000下优化Oracle9i性能
2007-05-06 12:07:21 来源:WEB开发网(四)解决与AWE相关的内存问题
需要注意的是每个4GB界限以上的块缓冲区需要在常规地址空间保留大约200字节的缓冲区头,因此,在上面的例子中,我们大约有312000个缓冲区头指向扩展地址空间的缓冲区,缓冲区头大约占80MB常规内存空间,如果数据库块很小,那么这个数量会相当高,因此,必须确保这些缓冲区头、AWE_WINDOW_MEMORY、和所有Oracle.exe进程的内存需求,包括编码、SGA其它组件、PGA内存和每个用户连接栈都适合Oracle.exe进程的常规3GB虚拟地址空间。
确认你有足够的物理内存处理超过AWE_WINDOW_MEMORY之外的DB_BLOCK_BUFFERS,在我们的例子中定义缓冲池大小为6GB,1GB来自常规地址空间,剩余5GB来自4GB以外的对整个进程有效的系统和进程地址空间,因此,这个例子只能工作在至少有9GB内存的机器上,你还应该为其它进程保留一些空间,只有一个进程可以在某一时刻访问附加的内存。
象前面所说的那样,/PAE开关只用于系统有超过4GB物理内存的时候,但如果系统内存少于4GB时,也可模仿这项功能。在boot.ini文件中设置MAXMEM参数的值,如下面例子,设为2GB,意味着任何2GB以上的内存都将保留为AWE内存。
multi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000 Advanced
Server" /fastdetect /PAE /MAXMEM:2048
为一个数据库使用附加的多个进程
真正的应用集群(Real Applications Clusters,RAC)提供有多个实例运行和访问同一数据的能力。通常,这用于有两个或多个节点的项目,一个实例运行在每个节点。无论如何,它支持在Oracle9i有两个实例运行在一个节点访问同一个数据库。这能克服每个进程的内存限制,又提供某些其它的利益,如应用程序失败检测。
更多精彩
赞助商链接