繁体   English   中英

JDBC oracle连接错误:ORA-12519,TNS:找不到合适的服务处理程序

[英]JDBC oracle connection error: ORA-12519, TNS:no appropriate service handler found

在我的项目中,我正在使用jdbc连接到多线程环境中的oracle 12c实例,之前我们有一个oracle 9i实例,并且正在使用ojdbc6,它运行良好,但是我们不确定地得到了这个oracle 12c实例,该实例给出了以下错误在JDBC连接点。

java.sql.SQLException:侦听器拒绝连接,并出现以下错误:ORA-12519,TNS:找不到合适的服务处理程序

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:774)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)

因此,我认为可能是因为我们拥有较旧的驱动程序版本,所以我合并了ojdbc8,我在互联网上发现它与12兼容,但是上面的错误仍然存​​在。 我的JDK版本是1.8。

对于解决此问题的任何投入,我们将不胜感激。 提前致谢。

希德。 我认为该错误是由于Oracle初始化参数设置问题而发生的。 请使用以下命令行:

SQL > SHOW the PARAMETER of the SESSION
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
session_cached_cursors integer 50
session_max_open_files integer 10
sessions integer 600
shared_server_sessions integer

另一个命令行:

SQL> SHOW PARAMETER PROCESS
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 2
gcs_server_processes integer 2
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 150

根据Oracle文档,应根据过程的默认设置SESSIONS = 1.1 + 5从过程中派生SESSIONS和初始化参数的TRANSACTIONS。

SESSIONS当前设置为600,而PROCESSES的设置仍未更改,仍为150,导致连接到Oracle的用户会话过多,Oracle没有足够的后台过程来支持这些SESSIONS。

直接解决方案设置为适当的过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM