连接到我们的某个数据库时,我看到随机的 TNS 连接关闭错误。它不会影响所有用户。(似乎在用户活动高峰期间发生)偶尔我还会看到 ORA-12518:TNS:监听器无法移交客户端连接。
连接是使用 ODP 驱动程序从 .Net 建立的。(这会产生大量的连接/断开活动)
答案1
从这里:
您的服务器可能内存不足,需要将内存交换到磁盘。
一个原因可能是 Oracle 进程消耗了太多内存。一个可能的解决方法是在 listener.ora 中设置以下参数并重新启动监听器:
DIRECT_HANDOFF_TTC_LISTENER=OFF
如果您正在使用多线程服务器连接,则可能需要增加的值
large_pool_size
。
您可以检查监听器日志文件。通过发出命令, lsrnctl status
您可以查看日志文件。检查监听器参数文件并查看监听器版本。
请参阅此博客文章以了解其他可能的原因和其他帮助:ORA-12518: TNS: 监听器无法传递客户端连接
答案2
有点疯狂,但我以前尝试使用较旧的 9i 驱动程序对 10g 数据库进行 OCI 调用时就遇到过此问题。您可能需要检查驱动程序版本,以确保它与您尝试连接的数据库匹配。