問題描述
查詢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,並保留一段時間。
沒有留言:
張貼留言