# Oracle ORA-00020：超出最大进程数（150）

- **ID:** `data/oracle-too-many-files-open`
- **领域:** data
- **类别:** resource_error
- **错误码:** `ORA-00020`
- **验证级别:** ai_generated
- **修复率:** 92%

## 根因

Oracle数据库的processes参数限制了操作系统进程总数（包括连接和后台进程）。当连接池或应用服务器打开的连接数超过限制时，新连接将被拒绝。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| Oracle Database 19c | active | — | — |
| Oracle Database 21c | active | — | — |
| Oracle Database 12c | active | — | — |

## 解决方案

1. ```
   Increase the processes parameter in the SPFILE and restart the database to allow more connections.
   ```
2. ```
   Reduce connection pool size in the application to stay within the current limit, e.g., set max connections to 100 in HikariCP.
   ```

## 无效尝试

- **** — The processes parameter remains unchanged, so the same limit applies after restart. (99% 失败率)
- **** — Sessions depend on processes; without increasing processes, the session limit is unreachable. (90% 失败率)
