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數據庫,使其生效