zoukankan      html  css  js  c++  java
  • ORA-12519:数据的连接池访问过多

    今天服务部同事问我一个问题,客户处的报表一半能打开,一半报错如下:

    Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=185599744)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))

    说实话之前也没遇到过,隐隐感觉是数据库访问过多的问题,报错信息里也只看得懂ERR=12519,按照这个思路查下去,发现是数据库连接池访问过多的原因。

    解决方法如下

     --首先检查process和session的使用情况,在sqlplus里面查看。
    
    SQL> show parameter processes
    
    NAME                         TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    aq_tm_processes                      integer     0
    db_writer_processes                  integer     6
    gcs_server_processes                 integer     0
    job_queue_processes                  integer     0
    log_archive_max_processes            integer     2
    processes                         integer     200
     
    
    SQL> select count(*) from v$process;
    
      COUNT(*)
    ----------
           195
     
    
    --明显process已经几乎达到了顶峰。
    
     
    
     
    
    SQL> show parameter session
    
    NAME                         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
    session_cached_cursors               integer     20
    session_max_open_files               integer     10
    sessions                             integer     250
    
    shared_server_sessions               integer
    SQL> 
     
    
    SQL> select count(*) from v$session;
    
      COUNT(*)
    ----------
            243
    
    --同样几乎达到顶峰。
    
     
    
    --修改oracle的process和session值,加大他们最大连接数。
    
    --oracle文档要求,SESSIONS和TRANSACTIONS的初始化参数应该源于PROCESSES参数,根据默认设置SESSIONS = PROCESSES * 1.1 + 5
    
     
    
    SQL> alter system set processes=500 scope=spfile;
    
    System altered.
    
    SQL> alter system set sessions=555 scope=spfile;
    
    System altered.
    
     
    
    --重启数据库后参数修改完成
    
    SQL> shutdown      --如果长时间没反应可能是连接请求没又关闭,也可以使用  abort参数直接关闭
    
    SQL> startup         --可以用 force参数   关闭当前运行数据库后正常启动。
  • 相关阅读:
    [Vijos] 天才的记忆
    [Vijos] 河蟹王国
    [Vijos] SuperBrother打鼹鼠
    [Vijos] 弱弱的战壕
    [洛谷P3792] 由乃与大母神原型和偶像崇拜
    【模板】乘法逆元
    [USACO13NOV]空荡荡的摊位Empty Stalls
    [USACO08OPEN]牛的车Cow Cars
    [SCOI2005]扫雷
    [USACO16OPEN]关闭农场Closing the Farm_Silver
  • 原文地址:https://www.cnblogs.com/zjfjava/p/8561929.html
Copyright © 2011-2022 走看看