ORA-00018: Maximum number of sessions exceeded(超出最大会话数)
Oracle含义
数据库已达到 SESSIONS 参数允许的最大会话数;无法再打开新的会话。
原因
SESSIONS/PROCESSES 设置低于工作负载需求、连接池配置过大、连接泄漏,或从不关闭的会话不断累积。
解决方法
查看当前会话数:SELECT COUNT(*) FROM v$session。检查限制:SELECT * FROM v$resource_limit WHERE resource_name IN ('sessions','processes')。增大 PROCESSES,并间接增大 SESSIONS(通过 SPFILE,需要重启):ALTER SYSTEM SET PROCESSES = 500 SCOPE=SPFILE。检查应用中的连接池大小和连接泄漏。
同一数据库的其他条目
- ORA-01031Insufficient privileges(权限不足)
- ORA-00257Archiver error. Connect internal only, until freed(归档进程错误。在释放之前仅允许内部连接)
- ORA-01000Maximum open cursors exceeded(超出打开游标的最大数)
- ORA-28000The account is locked(账户已锁定)
- ORA-01578Oracle data block corrupted (file #, block #)(Oracle 数据块损坏(文件号,块号))
- ORA-01722Invalid number(无效数字)
- ORA-02049Timeout: distributed transaction waiting for lock(超时:分布式事务正在等待锁)