首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

巧用dba_hist_active_sess_history追踪某个时间段内SQL(原创)

2012-07-03 
巧用dba_hist_active_sess_history跟踪某个时间段内SQL(原创)昨日由于应用数据更改有误,开发商也不知道是

巧用dba_hist_active_sess_history跟踪某个时间段内SQL(原创)

昨日由于应用数据更改有误,开发商也不知道是那条sql导致的数据出现偏差,于是要我协助查找和该表相关的update语句,几经周折下,找到了dba_hist_active_sess_history视图,该视图数据来自于V$ACTIVE_SESSION_HISTORY。其中dba_hist_active_sess_history视图的记录了内存中活动会话的历史信息,而动态性能视图V$ACTIVE_SESSION_HISTORY则记录了当前活动会话信息。

通过dba_hist_active_sess_history视图关联v$sqlarea和DBA_HIST_SNAPSHOT可以跟踪到某个时间段内的sql。当然能跟踪到的sql多少取决于v$sqlarea,毕竟只有还保留在v$sqlarea中的sql才能跟踪到。

下面是根据客户需求写的查询,查询2011-12-28日对dj_sz表的update语句

select to_char(b.begin_interval_time,'yyyy-mm-dd hh24:mi:ss') update_time,c.sql_text sql_text
from dba_hist_active_sess_history a,DBA_HIST_SNAPSHOT b,v$sqlarea c
where a.snap_id=b.snap_id
and a.sql_id=c.sql_id
and b.begin_interval_time>=to_date('2011-12-28','yyyy-mm-dd') and b.begin_interval_time < to_date('2011-12-29','yyyy-mm-dd')
and lower(c.sql_text) like '%update%dj_sz%'
order by update_time;

?

感谢小苏打的帮助

参考至:http://www.itpub.net/thread-1033928-1-1.html

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

热点排行