select * from v$sqlarea a where 1=1 and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 18:23:00','yyyy-MM-dd HH24:mi:ss') and a.LAST_ACTIVE_TIME < to_date( '2013-02-21 18:24:00','yyyy-MM-dd HH24:mi:ss') --and a.LAST_ACTIVE_TIME < to_date('2012-02-21 17:55','yyyy-MM-dd HH24:mi:ss') and a.MODULE_HASH <> 0 and a.MODULE = 'JDBC Thin Client' order by a.LAST_ACTIVE_TIME desc建议工具进行查看,TOAD里很方便的查看,也可看到执行抓取SQL的语句,自己改下就可以了当然还可以看审计,比较耗数据库性能
可以通过v$session和v$sqlarea试图进行查询。v$session中machine字段记录该session的主机名。、 以下sql查询当前活跃会话正在执行的sql,如若有误还望高手们指正; select q.SQL_TEXT,s.SID,s.SERIAL#,s.MACHINE from v$session s ,v$sqlarea q where s.sql_address=q.ADDRESS and s.status='ACTIVE';你要是查询一段时间内的所有操作,我觉得可以使用oracle的审计功能,你所要的信息基本都有;
where 1=1
and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 18:23:00','yyyy-MM-dd HH24:mi:ss')
and a.LAST_ACTIVE_TIME < to_date( '2013-02-21 18:24:00','yyyy-MM-dd HH24:mi:ss')
--and a.LAST_ACTIVE_TIME < to_date('2012-02-21 17:55','yyyy-MM-dd HH24:mi:ss')
and a.MODULE_HASH <> 0
and a.MODULE = 'JDBC Thin Client'
order by a.LAST_ACTIVE_TIME desc建议工具进行查看,TOAD里很方便的查看,也可看到执行抓取SQL的语句,自己改下就可以了当然还可以看审计,比较耗数据库性能
以下sql查询当前活跃会话正在执行的sql,如若有误还望高手们指正;
select q.SQL_TEXT,s.SID,s.SERIAL#,s.MACHINE from v$session s ,v$sqlarea q where s.sql_address=q.ADDRESS and s.status='ACTIVE';你要是查询一段时间内的所有操作,我觉得可以使用oracle的审计功能,你所要的信息基本都有;
+ v$SESSION --机器名
+ UTL_INADDR.get_host_address(machine_name) --IP地址