{
  "id": "data/oracle-too-many-files-open",
  "signature": "Oracle ORA-00020: maximum number of processes (150) exceeded",
  "signature_zh": "Oracle ORA-00020：超出最大进程数（150）",
  "regex": "ORA-00020: maximum number of processes \\(\\d+\\) exceeded",
  "domain": "data",
  "category": "resource_error",
  "subcategory": null,
  "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.",
  "root_cause_type": "generic",
  "root_cause_zh": "Oracle数据库的processes参数限制了操作系统进程总数（包括连接和后台进程）。当连接池或应用服务器打开的连接数超过限制时，新连接将被拒绝。",
  "versions": [
    {
      "version": "Oracle Database 19c",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Oracle Database 21c",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Oracle Database 12c",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "",
      "why_fails": "The processes parameter remains unchanged, so the same limit applies after restart.",
      "fail_rate": 0.99,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "Sessions depend on processes; without increasing processes, the session limit is unreachable.",
      "fail_rate": 0.9,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Increase the processes parameter in the SPFILE and restart the database to allow more connections.",
      "success_rate": 0.95,
      "how": "Increase the processes parameter in the SPFILE and restart the database to allow more connections.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Reduce connection pool size in the application to stay within the current limit, e.g., set max connections to 100 in HikariCP.",
      "success_rate": 0.8,
      "how": "Reduce connection pool size in the application to stay within the current limit, e.g., set max connections to 100 in HikariCP.",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "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."
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/ORA-00020.html",
  "official_doc_section": null,
  "error_code": "ORA-00020",
  "verification_tier": "ai_generated",
  "confidence": 0.9,
  "fix_success_rate": 0.92,
  "resolvable": "true",
  "first_seen": "2023-04-05",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}