---这条sql可以查到会话最后一次执行的未提交的sql,比如我之前insert了两次,然后做了一次select,用下面sql可以查看第二次insert的sql信息,第一次insert是查询不到的
select s.SQL_TEXT from v$sql s,v$transaction t where s.LAST_ACTIVE_TIME=t.START_DATE;
如何出现下面的情况,sid=10的会话阻塞了sid=14的会话,这是可以直接基于sid查看
SESS ID1 ID2 LMODE REQUEST TY CTIME SQL_ID EVENT LAST_CALL_ET
-------------------- ---------- ---------- ---------- ---------- -- ---------- ------------- ------------------------------------ ------------
Holder:1:10,247 524320 9448 6 0 TX 846 SQL*Net message from client 53
Waiter:1:14,229 9448 0 4 TX 826 9b433301221jp enq: TX - row lock contention 826
SELECT sql_text
FROM v$sqltext a
WHERE (a.hash_value, a.address) IN
(SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value),
DECODE(sql_hash_value, 0, prev_sql_addr, sql_address)
FROM v$session b
WHERE b.sid = '
10')
ORDER BY piece ASC;
---这条sql只能查询到的会话最后执行的一条sql,比如我之前insert了两次,然后做了一次select,用这条sql查询时只能查到select语句
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29953799/viewspace-1849933/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29953799/viewspace-1849933/