ORA-12516 "TNS監聽程序找不到符合協議堆棧要求的可用處理程序" 解決方案


參考地址:https://blog.csdn.net/wlwlwlwl015/article/details/51837669

當oracle數據庫連接數超過設置的最大連接數時,會出現以下錯誤:

當前的session連接數

select count(*) from v$session ;

當前活動的session連接數

select count(*) from v$session where status='ACTIVE';

當前的數據庫連接數

select count(*) from v$process ;

數據庫允許的最大連接數

select value from v$parameter where name ='processes'; 

 

解決方案:

以nolog登錄(安全考慮,參考地址:https://blog.csdn.net/u011214505/article/details/50481170

sqlplus /nolog
這時我們再使用conn system/123456來連接到system用戶上:
conn system/123456;

  使用sys,以sysdb登錄(sys /as sysdba),然后使用以下命令

alter system set processes=1000 scope=spfile;
alter system set sessions=1105 scope=spfile;

注意一下processes的值和sessions的值,Oracle官方文檔中要求:

sessions=processes*1.1+5

也就是說sessions的值是根據processes的值計算后得到的,這里需要注意一下,最后重啟一下Oracle服務即可。

重啟oracle服務(參考地址:https://blog.csdn.net/LJ_0514/article/details/79565197

 shutdown immediate ;

最后執行 startup ;

 


免責聲明!

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



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