Oracle 12c 新特性之 temp undo

張衝andy發表於2017-05-09
Oracle 12c R1 之前,臨時表生成的undo記錄是儲存在undo表空間裡的,通用表和持久表的undo記錄也是類似的。而在 12c R12 的臨時 undo 功能中,臨時 undo 記錄可以儲存在一個臨時表中,而無需再儲存在 undo 表空間內。臨時表的UNDO資訊通常用於讀一致性和事務回滾,在事務完成之後,無需進行恢復,所以也就不必永久儲存。這個特性完全無損Oracle的事務一致性。這樣做的主要好處在於:減少 undo 表空間,由於資訊不會被記錄在 redo 日誌中,所以減少了 redo 資料的生成。你可以在會話級別或者資料庫級別來啟用臨時 undo 選項。

啟用 temp undo 好處:
1.減少 undo 表空間
2.減少 redo 資料
3.允許在ADG中對臨時表進行DML操作

啟用 temp undo 要求:
1.相容性引數必須設定為 12.0.0 或更高
2.啟用 c##andy.temp_undo_ENABLED 初始化引數
3.足夠的空間來建立臨時表空間

開啟或者禁用 temp undo:
SQL> ALTER SYSTEM|SESSION SET TEMP_UNDO_ENABLED=TRUE;
SQL> ALTER SYSTEM|SESSION SET TEMP_UNDO_ENABLED=FALSE;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2138738/,如需轉載,請註明出處,否則將追究法律責任。

相關文章