oracle 跟踪sql语句

查询V$sql 确定需要跟踪的模式
例:
SELECT MODULE,sql_text FROM v$sql where last_active_time>TO_DATE('2020-08-14 11:20:00','yyyy-mm-dd hh24:mi:ss')
and MODULE='JDBC Thin Client'
ORDER BY LAST_ACTIVE_TIME DESC;
上述句子查询出来的 MODULE='JDBC Thin Client'是我想要跟踪的进程
问题 上述句子跟踪出来的sql_text 不完整
解决办法:
select
s.sql_text,
b.name,b.position,b.dup_position,
b.value_string,s.LAST_ACTIVE_TIME,s.SQL_FULLTEXT
from v$sql s, v$sql_bind_capture b
where s.last_active_time>TO_DATE('2020-08-14 11:17:00','yyyy-mm-dd hh24:mi:ss') and s.hash_value=b.hash_value
and MODULE='JDBC Thin Client'
ORDER BY s.LAST_ACTIVE_TIME DESC,b.position;
 
查看SQL_FULLTEXT为完整语句
例:
name 为 语句里面的变量名
value_string 为变量的值
sQL_FULLTEXT 为完整的变量
LAST_ACTIVE_TIME 语句执行时间,可以根据此值确定语句的值 同一时间为同一语句

posted @ 2020-12-18 09:27  编号007  阅读(314)  评论(0编辑  收藏  举报