ORA-00020
data
resource_error
ai_generated
true
Oracle ORA-00020:超出最大进程数(150)
Oracle ORA-00020: maximum number of processes (150) exceeded
ID: data/oracle-too-many-files-open
92%修复率
90%置信度
1证据数
2023-04-05首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| Oracle Database 19c | active | — | — | — |
| Oracle Database 21c | active | — | — | — |
| Oracle Database 12c | active | — | — | — |
根因分析
Oracle数据库的processes参数限制了操作系统进程总数(包括连接和后台进程)。当连接池或应用服务器打开的连接数超过限制时,新连接将被拒绝。
English
Oracle database's processes parameter limits the total number of OS processes (including connections and background processes). When connection pools or application servers open more connections than the limit, new connections are rejected.
官方文档
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ORA-00020.html解决方案
-
Increase the processes parameter in the SPFILE and restart the database to allow more connections.
-
Reduce connection pool size in the application to stay within the current limit, e.g., set max connections to 100 in HikariCP.
无效尝试
常见但无效的做法:
-
99% 失败
The processes parameter remains unchanged, so the same limit applies after restart.
-
90% 失败
Sessions depend on processes; without increasing processes, the session limit is unreachable.