簡體   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