如何更改Oracle连接数的限制

如何更改Oracle连接数的限制

 

java系统在运行过程中,有时候会抛出如下错误,如:

WARN - SQL Error: 17002, SQLState: null

ERROR - Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)

(ERR=125

19)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))

WARN - SQL Error: 17002, SQLState: null

ERROR - Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)

(ERR=125

19)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))

WARN - Unhandled Exception thrown: class org.springframework.transaction.CannotC

reateTransactionException

ERROR - Could not open Hibernate Session for transaction; nested exception is or

g.hibernate.exception.GenericJDBCException: Cannot open connection 

 

以上错误的最终描述为 JDBCException:  Connot open connection

 

出现上述错误的原因是,Oracle在提供服务过程当中会有一个连接数的限制,当连接数的数量

超过它的限定值时(一般默认为150),外部程序的连接就会被拒绝:(ERROR - Io 异常: 

Connection refused).

出现这种错误的原因一般有两种:

 

1.程序员在action中创建了数据库连接,当多用户使用系统时,连接数会很容易达到连接上限.

2.排除第一种情况,当系统负荷较大时,连接数也有可能达到这个上限.

 

为解决这种问题,我们就需要修改Oracle的连接数限制.

修改办法有两种:

一. 首先查看Oracle的当前连接数限制:

    a、以sysdba身份登陆PL/SQL 或者 Worksheet, 在命令行窗口(不是SQL窗口)执行如下

命令:

       show parameter processes; 显示结果如下图:

    其中process 即为连接数的最大值.

 

 

   如何更改Oracle连接数的限制

 

    b.更改系统连接数

      alter system set processes=1000 scope=spfile;

 

    c.创建pfile

      create pfile from spfile;    d.重启Oracle服务和tomcat.

 

二.如果你不知道DBA用户的用户名和密码,这时我们就需要使用第二种方式了,远程连接上
数据库服务器,在oracle的安装目录下找到 oracle的启动配置文件:

   如我的oracle安装在D盘: 

 

    如何更改Oracle连接数的限制

打开这个初始化文件,找到其中的 # Processes and Sessions 参数:

###########################################

# Processes and Sessions

###########################################

processes=150

 

更改150 为300 或1000. 

然后保存,重启Oracle和TOMCAT.

 

你可能感兴趣的:(Connection,open,修改oracle连接数,JDBCException:,Connot)