昨日由于应用数据更改有误,开发商也不知道是那条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
分享到:
相关推荐
可以通过查询 dba_hist_active_sess_history 视图来查看某段时间内的 AWR 会话情况。这个查询可以输入小时数量,例如 12,表示查看 12 小时内的数据。 §1.1.4 列出消耗 CPU 高的会话情况 可以通过查询 dba_hist_...
例如,可以查询V$ACTIVE_SESSION_HISTORY视图来获取当前会话的详细信息,或者查询DBA_HIST_ACTIVE_SESS_HISTORY视图来查看历史性能数据。进一步地,还可以结合其他性能监控工具(如AWR报告、ADDM报告等)来综合分析...
- `DBA_HIST_SQLSTAT`和`DBA_HIST_ACTIVE_SESS_HISTORY`等历史视图用于长期性能分析。 通过以上方法,数据库管理员可以有效地诊断和优化Oracle数据库中的性能问题,提高系统效率,减少资源浪费,为用户提供更好的...
ASH数据存储在内存中的PGA(Program Global Area)中,然后定期写入到DBA_HIST_ACTIVE_SESS_HISTORY表中。 6. **Database Diagnostic Monitor (DDM)** 和 **ADDM (Automatic Database Diagnostic Monitor)**:DDM是...
例如,`DBA_HIST_ACTIVE_SESS_HISTORY`在AWR(Automatic Workload Repository)报告中提供了历史性能数据,有助于识别长期存在的性能问题。 总的来说,Oracle数据库管理员可以通过监控执行最慢和最频繁的SQL语句,...
AWR的收集周期默认为1小时,数据存储在数据库中,可以使用`awrrpt.sql`和`awrrpti.sql`等脚本生成报告,以了解数据库在特定时间段内的性能状况。 Active Session History (ASH)是另一个重要的性能分析工具,它记录...
此外,dba_hist_active_sess_history视图是wrh$_active_session_history视图和其他几个视图的联合展现,通常通过这个视图来访问历史数据。 由于AWR的自动采集特点,如果MMON(管理监视进程)出现故障或挂起,将无法...
例如,通过查询DBA_HIST_ACTIVE_SESS_HISTORY表,查看特定SQL_ID在不同时间点的执行时间和plan_hash_value,找出问题发生的时间段。 6. **解决方案**: - 可能的优化措施包括调整SQL语句,例如,通过添加或改变...
4. **DBA_HIST_ACTIVE_SESS_HISTORY**:通过AWR(Automatic Workload Repository)报告,可以查看历史时间段内的I/O统计信息。 5. **EXPLAIN PLAN**:通过解释执行计划,可以预估SQL语句可能产生的I/O操作,比如全...
- **SQL 语句**: `SELECT * FROM dba_hist_active_sess_history WHERE event LIKE '%latch%' AND sample_time BETWEEN TO_DATE('2013-12-02 11:00', 'YYYY-MM-DD HH24:MI') AND TO_DATE('2013-12-02 12:00', 'YYYY-...