Failed to commit the transaction: … caused by: ORA-00018: maximum number of sessions exceeded在commit的时候,发送了异常!
在oracle官方的解释是,会话超限导致的问题,但是会话超限的话,是不是会导致connection不上?也不会已经connection到的连接commit时候会异常啊。
在oracle官方的解释是,会话超限导致的问题,但是会话超限的话,是不是会导致connection不上?也不会已经connection到的连接commit时候会异常啊。
http://weiyingjun.blog.hexun.com/50994330_d.html
Diagnoses:
SSQL> conn system/change_on_install as sysdba;
Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
Connected as SYS1、find session hight water
SQL> select * from v$licenseSESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENTSESSIONS_HIGHWATER USERS_MAX
------------ ---------------- ---------------- ------------------ ----------
0 0 4 83 02、Current parameter process and session
SQL> show parameter processNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
job_queue_processes integer 0
log_archive_max_processes integer 2
processes integer 150SQL> show parameter sessionNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
mts_sessions integer 0
session_cached_cursors integer 0
session_max_open_files integer 10
sessions integer 170
shared_server_sessions integer 0Resolution:SQL> alter system set processes=300 scope=spfile;
SQL> alter system set sessions=320 scope=spfile;
SQL> shutdown immediate;
SQL> startup;参照
ORA-00018: maximum number of sessions exceeded
有可能!因为在你的连接建立时session数量还没有超过阀值,当你commit时,数据库的session数已经超过阀值了,所以会提醒。我以前貌似也遇到过类似问题。你最好去检查一下数据库的session数是否已经超过阀值。如果超过的话,检查一下是什么应用建立了如此多的连接数。