sessions = 1.1 × processes + 5
單純調大 processes 往往導致資料庫無法啟動,根因在於作業系統信號量不足。
semmns 計算SEMMNS > processes + instance_processes + system_processes
# 其中
processes = init.ora 設定值
instance_processes = 5 (SMON, PMON, DBWR, LGWR, ARCH)
system_processes = ipcs -sb 查看 NSEMS 欄位
/etc/system 增加 set semsys:seminfo_semmns=2000(視記憶體/SGA 而定,範圍 200-2000)init.ora 調大 processesSELECT * FROM v$parameter WHERE name IN ('processes','sessions')license_max_sessions、license_sessions_warning 預設 0(無限制),生產環境可保持或依合約設定上限-- 當前連接數
SELECT COUNT(*) FROM v$session;
-- 參數上限
SELECT name, value FROM v$parameter WHERE name IN ('processes','sessions');
-- 信號量使用
! ipcs -sb
連接數擴容是「資料庫參數 + OS 核心參數」雙軌同調。忽略 semmns 是導致啟動失敗的首因,納入變更管理清單可避免反覆試錯。