服務器上某個數據庫出現' ORA-12516: TNS: 監聽程序找不到符合協議堆棧要求的可用處理程'錯誤,要解決該問題首先查看一下數據庫現有的進程數,是否已經達到參數processes的大小。數據庫
取得數據庫目前的進程數服務器
select count(*) from v$process;
取得進程數的上限session
select value from v$parameter where name = 'processes';
一、查看當前會話數、processes和sessions值,發現session數和2個參數的值已經很是接近spa
conn / as sysdba select count(*) from v$session; show parameter processes
二、修改processes和sessions值code
alter system set processes=1000 scope=spfile;
alter system set sessions=1105 scope=spfile;
注意一下processes的值和sessions的值,Oracle官方文檔中要求:blog
sessions=processes*1.5+5
也就是說sessions的值是根據processes的值計算後獲得的進程
三、查看processes和sessions參數,但更改並未生效文檔
show parameter processes
四、重啓數據庫,使更改生效io