大家好,对于Oracle我是外行,但是目前在做一个性能分析的时侯急需要一些Oracle的监控数据,目前我希望实现这样的功能:每隔一定时间(比如5秒)取得Oracle的总连接数和用户标示为“test“的连接数,然后将这些数据保存(可以为任何形式,只要以后能够调用到就可以了),最后最好能有一个汇总的结果,即平均连接数。Oracle数据库部署在一台redhat es4上,版本为10g
目前我用select count(*) from v$session可以取得总连接数,但是不知道怎么定时动态存取,还有要查询一定条件的连接数(比如特定用户)不知道怎么做?由于项目时间紧急,希望得到各位大侠的协助。先行谢过了!
目前我用select count(*) from v$session可以取得总连接数,但是不知道怎么定时动态存取,还有要查询一定条件的连接数(比如特定用户)不知道怎么做?由于项目时间紧急,希望得到各位大侠的协助。先行谢过了!
里面会的.你可以半小时一个快照.
2.写个过程,取得数据后往这个表里插入,用job定时调用。
3.对表数据进行分析。
select decode(grouping(t.username),1,'合计',t.username) machine ,count(*) num, sum(decode(t.STATUS,'ACTIVE',1,0)) active
from v$session t
--where t.STATUS='ACTIVE'
group by rollup(t.USERNAME)
order by num desc
select username,count(*) from v$session group by username;
ps -ef | grep oracle | wc
ps -ef | grep oracle | wc
命令取得的数据和直接在sqlplus中用select count(*) from v$session取得数据不同,有一次一个操作系统中取得的是47,sqlplus中取得的是33,请问是怎么回事?