2013-10-11 45 views
2

考慮一個情形,其中一個全局臨時表被稱爲「上提交保留行」,其中3行被插入創建的;承諾改變;刪除一行並執行回滾,回滾信息從哪裏來?全局臨時表回滾源

+6

回滾信息總是來自UNDO表空間(在認爲12C實際上你可以把對臨時表撤消到臨時表空間,但它仍然是變動矢量DML期間記錄) –

+3

我的2美分...作爲@a_horse_with_no_name說,它們存儲在UNDO,但段由使得每個GTT都有自己的臨時段,他們不知道別人段(空間分配),他們只看到THEIR部分,並在會議結束時全部蒸發。因此,同一用戶可以有不同的課程和不同的GTT的與他們的easch一個存儲在UNDO溫度段值 – SriniV

回答

0

一個臨時表的好處是,INSERTUPDATEDELETE語句不生成REDO日誌對數據的變化。然而,UNDO用於數據記錄和重做的UNDO日誌的日誌生成

用於執行回滾所需的信息來自UNDO日誌,所以會在定期UNDO表

Oracle數據庫12c中(版本12.1)引入「臨時UNDO」,它允許回滾信息要被存儲在臨時表,而不是UNDO表。臨時撤消一些更多的信息,請訪問:

http://oracle-base.com/articles/12c/temporary-undo-12cr1.php