修改oracle进程和会话数

曾经有朋友给我说他的应用程序经常会出现
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(DBError.java)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
va)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
这样的问题,先前我让他检查一下程序,他说已确定程序没什么问题。后来我也和他们一起检测过程序,确实程序是没有问题的。这时我想到了可能是数据库连接数的问题,我先用select *
from sys.v_$session
这个sql查看了一下当前的用户连接数。这个结果也基本正常,接下来我想由于他的这个业务比较复杂,可能是oracle默认的连接数不够,所以我们修改了一下oracle的init.ora文件的配置。在此和大家一起分享一下
在oracle的安装目录下:%oracle_home%\admin\orcl\pfile\有一个init.ora文件,我们来分析一下这个文件的内容
##############################################################################
# Copyright (c) 1991, 2001 by Oracle Corporation
##############################################################################

###########################################
# MTS
###########################################
dispatchers="(PROTOCOL=TCP)(SER=MODOSE)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"

###########################################
# 其他
###########################################
compatible=9.0.0
db_name=orcl

###########################################
# 分布式, 复制和快照
###########################################
db_domain=""
remote_login_passwordfile=EXCLUSIVE

###########################################
# 排序, 散列联接, 位图索引
###########################################
sort_area_size=524288

###########################################
# 文件配置
###########################################
control_files=("D:\oracle\oradata\orcl\CONTROL01.CTL", "D:\oracle\oradata\orcl\CONTROL02.CTL", "D:\oracle\oradata\orcl\CONTROL03.CTL")

###########################################
# 池
###########################################
java_pool_size=33554432
large_pool_size=1048576
shared_pool_size=33554432

###########################################
# 游标和库高速缓存
###########################################
open_cursors=300

###########################################
# 系统管理的撤销和回退段
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS

###########################################
# 网络注册
###########################################
instance_name=orcl

###########################################
# 诊断和统计
###########################################
background_dump_dest=D:\oracle\admin\orcl\bdump
core_dump_dest=D:\oracle\admin\orcl\cdump
timed_statistics=TRUE
user_dump_dest=D:\oracle\admin\orcl\udump

###########################################
# 进程和会话
###########################################
processes=150

###########################################
# 重做日志和恢复
###########################################
fast_start_mttr_target=300

###########################################
# 高速缓存和 I/O
###########################################
db_block_size=4096
db_cache_size=33554432

在这个文件的processes=150
我们把这个值改为260之后就没问题了!

但是要注意的是:用户最大连接数跟你的硬件配置有关,所以要谨慎

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


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


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

李小强 leaderbird
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值