2021年8月12日 星期四

學習心得 : 查詢Oracle當前交易處理時間

 問題描述

查詢Oracle當前交易處理時間

解決方式

1. 正執行交易指令

SELECT T1.SID,T1.SQL_ID, T1.USERNAME, T2.XIDUSN, T2.USED_UREC, T2.USED_UBLK,T2.START_TIME,SQL_TEXT 

FROM V$SESSION  T1, V$TRANSACTION T2 , V$SQL T3

WHERE T1.SADDR = T2.SES_ADDR   AND T1.SQL_HASH_VALUE=T3.HASH_VALUE;

2. 交易語法執行完成但尚未COMMIT或ROLLBACK

SELECT T1.SID,T1.USERNAME, T2.XIDUSN, T2.USED_UREC, T2.USED_UBLK,T2.START_TIME

FROM V$SESSION  T1, V$TRANSACTION T2

WHERE T1.SADDR = T2.SES_ADDR;



此外SQL DEVELOPER的Real-Time SQL Monitoring報表可查詢執行時間超過5秒的SQL指令,不論是否有交易,執行完成或與執行中都會紀錄於V$SQL_MONITOR,並保留一段時間。






沒有留言:

張貼留言