当在windows平台上运行oracle服务器,专用连接模式下,当客户端连接数达到一定值(约400左右,该值大小不定)后,客户端再无法连接上了。此时,客户端一般会得到“ora-12518”错误。
经过网上的一番搜查,和自己的实测,证明这不是oracle的问题,而是windows平台的内存限制问题!这个内存限制应该是oracle进程所有的内存运行空间(private byte + outer shared byte),不单纯是windows任务管理器所能看到的虚拟内存大小,还应包含oracle和其他程序共享的内存空间!
所以,对这个问题有三个解决方法:
1:windows 32位的使用AWE,
2:windows 64位平台
3:linux 平台
在共享连接模式下,可以超过1000个连接,观察oracle的内存使用,并未达到windows的内存限制,不过客户端的连接数也上不去了,不明白!!!