Oracle報錯ORA-12516 TNS:listener could not find available handler with matching protocol stack


ORA-12519: TNS:no appropriate service handler found 當使用阿里的Druid連接池時報的這個錯,也是同樣的原因

重啟應用時報錯,錯誤信息如題, ORA-12516:TNS:監聽程序找不到符合協議堆棧要求的可用處理程  ,然后項目啟動失敗,使用可視化工具連接數據庫時也報同樣的錯誤。

是什么原因呢?

通常是由於很多人或者很多應用(java應用、R應用等)連接數據庫,導致連接數(session)數量超出限制。

所以就看看現在數據庫連接數設置的最大是多少,以及現在連接數。

-- 以數據庫管理員的身份登陸PL/SQL 
sqlplus / as sysdba;
-- 查看當前連接進程數
SQL>select count(*) from v$process;
-- 查看連接數上限
SQL>select value from v$parameter where name = 'processes';
-- 查詢processes數量
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 3
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
-- 查詢sessions數量
SQL> show parameter sessions
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 170
shared_server_sessions integer

 

修改連接數(如果自己沒權限修改,上報給你的上級,最好不要自己改)

 -- 以數據庫管理員身份登陸PL/SQL 
 -- 查詢目前連接數
    show parameter processes;
 -- 修改processes
    alter system set processes=500 scope=spfile;
 -- 修改processes
    alter system set sessions=555 scope=spfile;
 -- 重啟Oracle服務或重啟Oracle服務器
 -- 然后reboot數據庫,使其生效

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM