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参数   关闭当前运行数据库后正常启动。
  • 相关阅读:
    无题
    2G日产金士顿
    提防假TF卡,金士顿的识别 (有图)
    无题
    推荐小说
    开学了!
    测速软件
    提供《鬼吹灯》小说系列下载
    换博客了
    Kali_2020.01安装教程
  • 原文地址:https://www.cnblogs.com/zjfjava/p/8561929.html
Copyright © 2011-2022 走看看