数据库连接问题
来源:互联网 发布:富易交易软件下载mac 编辑:程序博客网 时间:2024/05/07 12:04
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
这样的问题,先前我让他检查一下程序,他说已确定程序没什么问题。后来我也和他们一起检测过程序,确实程序是没有问题的。这时我想到了可能是数据库连接数的问题
我先用select * from sys.v_$session
SQL> select count(*) from v$process;
44
SQL> select count(*) from v$session;
39
这个sql查看了一下当前的用户连接数。这个结果也基本正常,接下来我想由于他的这个业务比较复杂,可能是 oracle默认的连接数不够,所以我们修改了一下oracle的init.ora文件的配置。在此和大家一起分享一下在oracle的安装目录下:%oracle_home%\admin\orcl\pfile\有一个init.ora文件
我们来分析一下这个文件的内容
dispatchers="(PROTOCOL=TCP)(SER=MODOSE)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
compatible=9.0.0db_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=33554432large_pool_size=1048576shared_pool_size=33554432
# 游标和库高速缓存
open_cursors=300
# 系统管理的撤销和回退段
undo_management=AUTOundo_tablespace=UNDOTBS
# 网络注册
instance_name=orcl
# 诊断和统计
background_dump_dest=D:\oracle\admin\orcl\bdumpcore_dump_dest=D:\oracle\admin\orcl\cdumptimed_statistics=TRUEuser_dump_dest=D:\oracle\admin\orcl\udump
processes=150
# 重做日志和恢复
fast_start_mttr_target=300
# 高速缓存和 I/O
db_block_size=4096db_cache_size=33554432
在这个文件的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 等默认设置都为零,也就是没有限制。
2.startup;
shutdown immediate;
startup;--重启数据库
5.
Sql代码
1.SELECT osuser, a.username,cpu_time/executions/1000000||'s', b.sql_text,machine
2.from v$session a, v$sqlarea b
3.where a.sql_address =b.address order by cpu_time/executions desc;
SELECT osuser, a.username,cpu_time/executions/1000000||'s', b.sql_text,machine
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;
--查看当前有哪些用户正在使用数据
6.
Sql代码
1.select count(*) from v$session
select count(*) from v$session
7.
Sql代码
1.select count(*) from v$session where status='ACTIVE'
select count(*) from v$session where status='ACTIVE' --并发连接数
8.
Sql代码
1.show parameter processes
show parameter processes
9.
Sql代码
1.alter system set processes = value scope = spfile;
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接问题
- 数据库连接断开,数据库连接池报错问题
- 解决mysql数据库连接问题
- 数据库连接的问题
- 数据库连接池的问题
- 数据库连接问题的总结
- JDBC数据库连接的问题
- DotNet数据库连接池问题
- 艺达UI
- fork后子进程对父进程资源的继承
- 2014记录文件收藏夹也由于浏览器更换不得不在这保存一份
- 多线程断点续传下载Demo
- Swift——(四)Swift中"#"的妙用
- 数据库连接问题
- 关于在Fragment下onActivityResult回调无结果的问题
- js window.open 传递中文参数出现乱码解决办法
- wireshark使用
- IMU加速度到位移的变换方法
- rbac权限管理
- SVN版本控制与分支设置
- 百度搜索下拉框智能提示功能
- c#获取各种平台应用程序根目录