參考地址: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 ;