莱戈拉斯x瑟兰迪尔:oracle 连接异常 (ERR=12519)(ERROR_STA

来源:百度文库 编辑:九乡新闻网 时间:2024/07/08 21:56:20

show parameter processes 查看连接参数select count(*) from v$session; 当前连接数 java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))  at oracle.jdbc.dbaccess.DBError.throwSqlException
这样的问题,先前我让他检查一下程序,他说已确定程序没什么问题。后来我也和他们一起检测过程序,确实程序是没有问题的。这时我想到了可能是数据库连接数的问题

在这个文件的processes=150我们把这个值改为260之后就没问题了!但是要注意的是:用户最大连接数跟你的硬件配置有关,所以要谨慎

当然还有其他两种修改的方式: 

第一种方法:
在 Oracle 企业管理器例程-->会话中可以查看当前连接到数据库的详细信息


第二种方法:
SQLPLUS下运行:alter system set processes=250 scope=spfile;

其他:

ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:

  sessions=(1.1*process+5)

  但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/system/ 中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix 操作系统 ,参数才能生效。不过它的大小会受制于 硬件 的内存或ORACLE SGA。范围可从200-2000不等。

  semmns的计算公式为:SEMMNS > processes + instance_processes + system processes = 数据库参数processes的值 instance_processes = 5(smon,pmon,dbwr,lgwr,arch)

  system=系统所占用信号量。

  系统所占用信号量可用下列命令查出:#ipcs -sb

  其中列NSEMS显示系统已占用信号量。

  其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。