在oracle 10g 中。怎么能查看一个sql语句是什么时候执行的(具体到时分秒钟)??
通过logmnr的方法应该是可以实现的,感觉 有点麻烦 ~~
哪位有好的方法,介绍一下。。

解决方案 »

  1.   

    v$sql,v$sqlarea不一定保存了所有执行的SQL,取决于你是否重启过数据库
    取决于你的shared_pool的大小
    如果多次执行相同的SQL,只能得到第一次和最后一次执行的时间
    SELECT t.SQL_TEXT,
           t.FIRST_LOAD_TIME, --第一次执行时间 
           t.LAST_ACTIVE_TIME --最后一次执行时间
      FROM v$sql t
     WHERE t.SQL_TEXT LIKE '你的SQL语句%';
      

  2.   

    我用sql_id(来自awr中)查的,在你说的那些视图中找不到。
    对于已经不在v$sql 中的,怎么找呢??
    兵哥 的高招拿出来,兄弟学习一下。。
      

  3.   


    不是不存在,查询V$开头的表或视图需要具有DBA权限
    你试试用DBA权限用户查看
      

  4.   

    用的就是有DBA权限的帐户,我说的不存在是在那些视图中已经找不到这个SQL语句了!!!
      

  5.   

    对于已经不在v$sql 中的,怎么找呢??使用日志挖掘,logminer
    如果不会使用,百度一下就行了
      

  6.   

    结贴吧,我发的内容里已经说了,有没有不用logmnr的方法,最后还是这个方法 .