据说32位oracle在Win2K平台有个2G内存限制,不知道这2G内存是指仅SGA区,还是oracle的所占用的全部内存,抑或是整个操作系统用到2Goracle就不能申请内存?假设平台:win2K,物理内存:3G,oracle版本8.1.7
如果windows2K系统显示内存使用超过2G的话,oracle是否还能正常工作?是使用虚拟内存还是报错?我的试验结果是oracle报ORA-04030: 在尝试分配 713216 字节 (cursor work he,kllcqas:kllsltba)时进程内存不足;而且不使用虚拟内存。不知道为什么不使用虚拟内存?难道大于2G的内存只能使用2G,其它的就只能白费么?对2G问题除了《突破oracle for win2K的2G内存限制》一文还有没有其它方法?
如果windows2K系统显示内存使用超过2G的话,oracle是否还能正常工作?是使用虚拟内存还是报错?我的试验结果是oracle报ORA-04030: 在尝试分配 713216 字节 (cursor work he,kllcqas:kllsltba)时进程内存不足;而且不使用虚拟内存。不知道为什么不使用虚拟内存?难道大于2G的内存只能使用2G,其它的就只能白费么?对2G问题除了《突破oracle for win2K的2G内存限制》一文还有没有其它方法?
但是如果只有3G内存,是不是当使用内存大于2G就报ORA-04030: 在尝试分配 713216 字节 (cursor work he,kllcqas:kllsltba)时进程内存不足;而且不使用虚拟内存。
怎么样能利用虚拟内存?
不过oracle优化中提过sga应该占物理内存的1/3至1/2大小,那么你的内存最小要有4gb啊!
另外,限制确实是指sga+pga+其他oracle结构,这个你是对的。
还有,oracle8i的限制是3gb,至于操作系统内存限制是另外一回事。
你的oracle报错,一定是参数设置不正确所致,超过3gb,可以参考http://www.itpub.net/showthread.php?s=&threadid=124424&perpage=15&pagenumber=6