怎么捕捉执行时间超过一定值的SQL语句

如何捕捉执行时间超过一定值的SQL语句?
例如我想把执行时间超过5秒钟的SQL语句都给纪录下来(或者显示出来),然后可以对这些语句做相关的优化。

请教用什么方式实现?谢谢!

------解决方案--------------------
关注
------解决方案--------------------
学习
------解决方案--------------------
mk
------解决方案--------------------
kill两天以内inactive的session

select 'alter system kill session '|| ' ' ' '||sid|| ', '||serial#|| ' ' ' '|| '; ' from v$session
where logon_time > sysdate-1 and status= 'INACTIVE ';
------解决方案--------------------
查询v$sqlarea试图
判断first_load_time与当前时间的差值和INVALIDATIONS的状态来获得这样的SQL