# Oracle ORA-00020: maximum number of processes (150) exceeded

- **ID:** `data/oracle-too-many-files-open`
- **Domain:** data
- **Category:** resource_error
- **Error Code:** `ORA-00020`
- **Verification:** ai_generated
- **Fix Rate:** 92%

## Root Cause

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.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Oracle Database 19c | active | — | — |
| Oracle Database 21c | active | — | — |
| Oracle Database 12c | active | — | — |

## Workarounds

1. **Increase the processes parameter in the SPFILE and restart the database to allow more connections.** (95% success)
   ```
   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.** (80% success)
   ```
   Reduce connection pool size in the application to stay within the current limit, e.g., set max connections to 100 in HikariCP.
   ```

## Dead Ends

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