问题:
您要监视Oracle中当前正在执行的SQL统计信息。
解
如果您的数据库是Oracle Database 11g,则可以使用以下查询从“ V $SQL_MONITOR”中进行选择,以监视SQL查询的近实时资源消耗。
“ V $SQL_MONITOR”中的统计信息每秒更新一次。这有助于我们查看更新时的资源消耗。当SQL语句并行运行或消耗5秒钟以上的CPU或I / O时间时,默认情况下会收集这些统计信息。
“ V $SQL_MONITOR”视图包括“ V $SQL”,“ V $SQLAREA”和“ V $SQLSTATS”视图中包含的统计信息的子集。
“ V $SQL_MONITOR”视图显示每次执行资源密集型SQL语句的实时统计信息,而“ V $SQL”,“ V $SQLAREA”和“ V $SQLSTATS”包含超过SQL语句的多次执行。
select * from ( select a.sid session_id ,a.sql_id ,a.status ,a.cpu_time/1000000 cpu_sec ,a.buffer_gets ,a.disk_reads ,b.sql_text sql_text from v$sql_monitor a ,v$sql b where a.sql_id = b.sql_id order by a.cpu_time desc) where rownum <=10;