如何确定Oracle数据库中最近的WAIT事件?
问题:
您想找出数据库中最近的重要等待以及负责大多数等待的用户,SQL语句和对象。
解
Oracle为我们提供了V$ACTIVE_SESSION_HISTORY,以获取有关最常见的等待事件以及SQL语句,数据库对象和负责这些等待的用户的信息。
SQL查找等待事件
示例
SELECT event, SUM(wait_time + time_waited) total_wait_time FROM v$active_session_history GROUP BY event ORDER BY total_wait_time DESC;
要找出等待时间最多的用户,我们可以在SQL下面使用。
示例
SELECT s.sid, s.username, SUM(a.wait_time + a.time_waited) total_wait_time FROM v$active_session_history a, v$session s WHERE a.session_id=s.sid GROUP BY s.sid, s.username ORDER BY total_wait_time DESC;
为了找出等待时间最多的对象,我们可以在SQL下面使用。
示例
SELECT a.current_obj#, d.object_name, d.object_type, a.event, SUM(a.wait_time + a.time_waited) total_wait_time FROM v$active_session_history a, dba_objects d WHERE a.current_obj# = d.object_id GROUP BY a.current_obj#, d.object_name, d.object_type, a.event ORDER BY total_wait_time;
最后,我们可以使用以下查询来确定等待最长时间的SQL语句。
示例
SELECT a.user_id, u.username, s.sql_text, SUM(a.wait_time + a.time_waited) total_wait_time FROM v$active_session_history a, v$sqlarea s, dba_users u WHERE a.sql_id = s.sql_id AND a.user_id = u.user_id GROUP BY a.user_id, s.sql_text, u.username;
热门推荐
10 立冬祝福语简短给女孩
11 生日贺卡祝福语英文简短
12 生日祝福语宿舍舍友 简短
13 孩子语音婚礼祝福语简短
14 祝福语签名简短霸气女生
15 出车开工吉祥祝福语简短
16 写给女友的祝福语++简短
17 送病人简短的祝福语
18 对新人祝福语大全简短