天天看點

Oracle 12c 新特性之 temp undo

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;

文章可以轉載,必須以連結形式标明出處。

本文轉自 張沖andy 部落格園部落格,原文連結: http://www.cnblogs.com/andy6/p/6830121.html  ,如需轉載請自行聯系原作者