Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp ORA-12518,TNS:侦听器无法切换客户端连接_Jsp_Servlets_Oracle11g - Fatal编程技术网

Jsp ORA-12518,TNS:侦听器无法切换客户端连接

Jsp ORA-12518,TNS:侦听器无法切换客户端连接,jsp,servlets,oracle11g,Jsp,Servlets,Oracle11g,我在windows环境中使用ORACLE数据库,并在tomcat中运行JSP/servlet web应用程序。在我对应用程序执行一些操作之后,它给出了以下错误 ORA-12518,TNS:侦听器无法切换客户端连接 有人能帮我找出这个问题的原因并提出解决方案吗?如果一天又一天这个问题没有明显的原因,请在listner.ora文件的底部添加以下几行。如果oracle_home环境变量设置如下: (ORACLE\u HOME=C:\oracle11\app\ORACLE\product\11.2.0\

我在windows环境中使用ORACLE数据库,并在tomcat中运行JSP/servlet web应用程序。在我对应用程序执行一些操作之后,它给出了以下错误

ORA-12518,TNS:侦听器无法切换客户端连接


有人能帮我找出这个问题的原因并提出解决方案吗?

如果一天又一天这个问题没有明显的原因,请在listner.ora文件的底部添加以下几行。如果oracle_home环境变量设置如下:

(ORACLE\u HOME=C:\oracle11\app\ORACLE\product\11.2.0\server)

要添加的行包括:

ADR\u BASE\u LISTENER=C:\oracle11\app\oracle\


直接切换TTC侦听器=关闭此问题的解决方案是增加进程数:

1. Open command prompt 
2. sqlplus / as sysdba; //login  sysdba user
3. startup force;
4. show parameter processes;  // This shows 150(some default) processes allocated, then increase the count to 800
5. alter system set processes=800 scope=spfile;

经过尝试和测试。

我遇到了同样的问题,在我的情况下,是在新桌面上新安装的Oracle客户端出现了错误,其他客户端正在工作,因此我知道这不会是对数据库配置的修复。tnsping工作正常,但sqlplus因ora-12518侦听器错误而失败


我有一个带有SID的tnsnames.ora条目,而不是一个service_名称,然后一旦我修复了它,仍然是相同的错误,并且发现我也有一个错误的service_名称。一旦我解决了这个问题,错误就消失了。

我在应用程序中执行查询时也遇到了同样的问题。我正在使用Oracle客户端和Ruby on Rails

当我不小心启动了与DB的几个连接,但没有关闭它们时,问题就出现了

当我修好后,一切又恢复正常了


希望这有助于解决另一个同样的问题。

在我的例子中,我发现这是因为我没有在应用程序中正确关闭数据库连接。打开的连接太多,Oracle无法进行更多连接。这是一种资源限制。稍后,当我与oracle论坛联系时,我可以看到一些关于这个问题的原因。其中一些是

  • 在大多数情况下,这是由于网络问题造成的
  • 您的服务器可能内存不足,需要将内存交换到磁盘。原因之一可能是Oracle进程占用了太多内存
  • 如果是第二个,请验证大池大小或检查调度程序是否足以进行所有连接

    有关更多详细信息,请参阅下面的链接。
    升级到Windows 10后,我遇到了相同的错误。我通过启动已停止的Oracle服务解决了这个问题

    启动所有服务,如下图所示:


    我也有同样的问题。重新启动所有Oracle服务后,它再次工作。

    我遇到了同样的问题。 从oracle server侦听器日志中,可以看到更多信息。 我发现服务名称与tnsnames.ora配置的服务名称不匹配。因此,我将应用程序的数据源配置从SID值更改为Service_NAME值,并将其修复

    23-MAY-2019 02:44:21 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=XXXXXX$))(SERVICE_NAME=orclaic)) * (ADDRESS=(PROTOCOL=tcp)(HOST=::1)(PORT=50818)) * establish * orclaic * 12518
    TNS-12518: TNS:listener could not hand off client connection
     TNS-12560: TNS:protocol adapter error
      TNS-00530: Protocol adapter error
       64-bit Windows Error: 203: Unknown error
    
    

    我在实时应用程序中遇到了同样的问题,第二天问题就自行消失了。检查后,发现服务器内存不足,原因是其他进程正在运行


    所以在我的例子中,原因是服务器内存不足,并确保侦听器已启动:)快乐查询