ORA-12519错误&Oracle最大连接数&连接池超限&session超限

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sunny05296/article/details/79171013

Oracle运行一段时间后,连接异常ORA-12519,错误的原因是因为连接池达到最大限制。

先查看process和session的使用情况,在sqlplus命令行查看。

1.查看连接数(process)配置

SQL> select value from v$parameter where name='processes';
VALUE
------------------------------------------------------------------------------------------------------------------------
150
SQL> 


SQL> show parameter processes
NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
aq_tm_processes                      integer                           0
db_writer_processes                  integer                           1
gcs_server_processes                 integer                           0
global_txn_processes                 integer                           1
job_queue_processes                  integer                           1000
log_archive_max_processes            integer                           4
processes                            integer                           150
SQL> 

2.查看当前连接数(process)
SQL> select count(*) from v$process;
  COUNT(*)
----------
       147
SQL> 

3.查看session配置
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
session_cached_cursors               integer                           50
session_max_open_files               integer                           10
sessions                             integer                           248
shared_server_sessions               integer
SQL> 

4.查看当前session数
SQL> select count(*) from v$session;  
  COUNT(*)
----------
       139
SQL> 

可以看到当前的process已经几乎达到了峰值,不过session还有富余。

5.修改最大连接数配置:
查询oracle文档,要求 SESSIONS 和 TRANSACTIONS 的初始化参数应该源于 PROCESSES 参数。
修改oracle的process和session值,扩大并发连接数,修改process的同时需同步修改session的设置,调整的公式:SESSIONS = PROCESSES * 1.1 + 5 
SQL> alter system set processes=300 scope=spfile;
SQL> alter system set sessions=335 scope=spfile;
SQL> shutdown
SQL> startup

注意:修改完成以后,需要重启数据库,才能生效。


展开阅读全文

没有更多推荐了,返回首页