Alert 日志出現:ORA-00020: maximum number of processes (150) exceeded
數據庫參數 processes=150 過小,無法容納當前連接數(含用戶會話、後台進程、並行查詢進程等)。
-- 當前進程使用情況
SELECT * FROM v$resource_limit WHERE resource_name = 'processes';
-- 會話來源分析
SELECT program, machine, COUNT(*) cnt
FROM v$session
GROUP BY program, machine
ORDER BY cnt DESC;
ALTER SYSTEM KILL SESSION 'sid,serial#'processes 參數(需重啟)ALTER SYSTEM SET processes=300 SCOPE=SPFILE; → 重啟實例sessions 通常 = processes * 1.1 + 5,transactions 同步調整SESSIONS_PER_USER進程耗盡時,新連接常報 ORA-12537: TNS:connection closed 或 ORA-00018: maximum number of sessions exceeded。
Oracle 文檔指出:processes 定義作業系統用戶進程最大數,含後台進程;建議預留 10%-20% 緩衝。