有沒有辦法告訴我在交易中是否有未提交的工作(即DML)?也許我可以查詢一個數據字典視圖?如何判斷我在Oracle事務中是否有未提交的工作?
的方法無論從內部和外部運行打開事務會受到歡迎會議的發現這一點。
謝謝
有沒有辦法告訴我在交易中是否有未提交的工作(即DML)?也許我可以查詢一個數據字典視圖?如何判斷我在Oracle事務中是否有未提交的工作?
的方法無論從內部和外部運行打開事務會受到歡迎會議的發現這一點。
謝謝
SELECT *
FROM v$session v
WHERE v.AUDSID = userenv('sessionid')
AND v.TADDR IS NOT NULL
如果您沒有訪問到v $ session中就可以使用
select dbms_transaction.local_transaction_id from dual;
這僅適用於在會話中,但並不需要V $權限。 如果它返回一個非空值,那麼你已經開始了一個事務。這通常意味着未提交的更改,但也有例外。如果您發出了保存點,更改了數據並回滾到保存點,則該事務仍然「存活」。此外,使用數據庫鏈接開始交易,即使只是選擇(或過去)。
:我怎樣才能查看是否有其他會議。我的任何提交的工作已經在兩個不同的會議上做了更新,但我看到的。我是從兩個會話。是期待它的兩條記錄每個會話中只有一個記錄possuble查看其他會話未提交的數據。 – 2012-11-23 09:59:36
@GauravSoni:請張貼它作爲一個問題。 – Quassnoi 2012-11-23 10:26:49