首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

ORA-12516 監聽器無匹配處理程序:參數不匹配導致的連線風暴

     編輯:Oracle 資料庫基礎

錯誤現象

ORA-12516: TNS:listener could not find available handler with matching protocol stack。通常伴隨 ORA-12520。

根因分析

初始參數設定衝突:

  • SESSIONS = 170、PROCESSES = 150(SESSIONS 應 ≤ PROCESSES × 1.1 + 5)。
  • 啟用共用伺服器時 SHARED_SERVERS = 100 過大,佔用大量程序槽位,導致專用伺服器連線無可用程序。

修正參數並重啟

ALTER SYSTEM SET sessions=555 SCOPE=SPFILE;
ALTER SYSTEM SET processes=500 SCOPE=SPFILE;
ALTER SYSTEM SET shared_servers=10 SCOPE=SPFILE;
-- 重啟資料庫生效

調整後觀察

  • PROCESSES 使用量從 140 降至合理區間。
  • SESSIONS 僅 30 多,資源充裕。
  • 監聽器不再報錯,連線穩定。

核心原則

  1. PROCESSES ≥ SESSIONS / 1.1(預留背景程序)。
  2. SHARED_SERVERS 慎重設定,視併發需求動態調整,避免佔盡程序槽。
  3. 定期查詢 V$RESOURCE_LIMIT 監控高水位。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved