oracle连接数处理
1、查询库的连接状态:
select b.MACHINE,b.PROGRAM,count(*) from v$process a, v$session b where a.ADDR = b.PADDR and b.USERNAME is not null group by b.MACHINE , b.PROGRAM order by count(*) desc;
根据用户查询总数
select username,count(username) from v$session where username is not null group by username;
2、查询数据库当前支持的连接数:
select value from v$parameter where name ='processes';
3、修改最大连接数
alter system set processes = 2000 scope = spfile;
create pfile from spfile;(显示文件已经创建)
重启oracle服务
shutdown immediate;
检查值是否更改
startup
4、删除空连接
ps -ef|grep LOCAL=NO|grep -v 'grep'|awk '{print $2}'|xargs kill -9
5、根据listener.log文件分析访问源
过滤关键字到b.log文件
cat listener.log|grep 'HOST=172.17'|awk -F 'HOST=' '{print $3}'|sed 's/)(//g'|awk -F 'PORT=' '{print $1}'>b.log
统计客户端连接次数
sort b.log |uniq -c