ORA-12516: TNS: 監聽程式找不到符合協議堆疊要求的可用處理程

bitifi發表於2015-12-31

今天在測試的時候使用PL/SQL DEVELOPER 連線資料的時候出現了錯誤,ORA-12516: TNS: 監聽程式找不到符合協議堆疊要求的可用處理程

錯誤解決方案如下:

 

 --首先檢查process和session的使用情況,在sqlplus裡面檢視。

SQL> show parameter processes

NAME                         TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     0
db_writer_processes                  integer     6
gcs_server_processes                 integer     0
job_queue_processes                  integer     0
log_archive_max_processes            integer     2
processes                    integer     150

 

SQL> select count(*) from v$process;

  COUNT(*)
----------
       147

 

--明顯process已經幾乎達到了頂峰。

 

 

SQL> show parameter session

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
session_cached_cursors               integer     20
session_max_open_files               integer     10
sessions                     integer     160

shared_server_sessions               integer
SQL> 

 

SQL> select count(*) from v$session;

  COUNT(*)
----------
        153

--同樣幾乎達到頂峰。

 

--修改oracle的process和session值,加大他們最大連線數。

--oracle文件要求,SESSIONSTRANSACTIONS的初始化引數應該源於PROCESSES引數,根據預設設定SESSIONS = PROCESSES * 1.1 + 5

 

SQL> alter system set processes=300 scope=spfile;

System altered.

SQL> alter system set sessions=335 scope=spfile;

System altered.

 

--重啟資料庫後引數修改完成

SQL> shutdown      --如果長時間沒反應可能是連線請求沒又關閉,也可以使用  abort引數直接關閉

SQL> startup         --可以用 force引數   關閉當前執行資料庫後正常啟動。

 

問題處理完畢,也可以參考其他更多的解決方案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30496894/viewspace-1969166/,如需轉載,請註明出處,否則將追究法律責任。

相關文章