轉:深度理解Oracle10g中UNDO_RETENTION參數的使用

來源:互聯網
上載者:User
文章目錄
  • Oracle10g中的自動撤銷管理(AUM)
  • UNDO_RETENTION的值應該設定為多少才合理?
  • 設定撤銷資料表空間的尺寸

本文轉自:http://hi.baidu.com/lichangzai/blog/item/02f43b36a630bcd5a2cc2bc1.html,如原文作者對此有異議,本人願意移除

每一中資料庫都需要有一種管理復原或者撤銷資料的方法。當一個DML發生以後,在使用者還沒有提交(COMMIT)改變,使用者不希望這種改變繼續保持,需要撤銷所做的修改,將資料回退到沒有發生改變以前,這時就需要使用一種被稱為 撤銷記錄的資料。使用撤銷記錄,我們可以:1、 當使用ROLLBACK語句時復原事務,撤銷DML操作改變的資料2、 恢複資料庫3、 提供讀取的一致性4、 使用Oracle Flashback Query分析基於先前時間點的資料5、 使用Oracle Flashback特性從邏輯故障中恢複資料庫Oracle10g中的自動撤銷管理(AUM)在Oracle10g中對於復原段的管理可以通過配置參數而實現自動管理。為啟用撤銷空間的自動管理,首先必須在init.ora中或者SPFILE檔案中指定自動撤銷模式。其次需要建立一個專用的資料表空間來存放撤銷資訊,這保證使用者不會在SYSTEM資料表空間中儲存撤銷資訊。此外還需要為撤銷選擇一個保留時間。如果需要實現AUM,需要配置以下3個參數:UNDO_MAMAGEMENT UNDO_TABLESPACEUNDO_RETENTION查看初始化參數的設定:

SQL> show parameter undo_tablespace;NAME                                 TYPE        VALUE------------------------------------ ----------- -----------------------undo_tablespace                      string      UNDOTBS1SQL> show parameter undo_management;NAME                                 TYPE        VALUE------------------------------------ ----------- -----------------------undo_management                      string      AUTOSQL> show parameter undo_retention;NAME                                  TYPE        VALUE------------------------------------ ----------- -----------------------undo_retention                       integer     900SQL>
初始化參數的描述:

Initialization Parameter Description
UNDO_MANAGEMENT If AUTO, use automatic undo management. The default is MANUAL
UNDO_TABLESPACE An optional dynamic parameter specifying the name of an undo tablespace. This parameter should be used only when the database has multiple undo tablespaces and you want to direct the database instance to use a particular undo tablespace.
UNDO_RETENTION The UNDO_RETENTION parameter is ignored for a fixed size undo tablespace. The database may overwrite unexpired undo information when tablespace space becomes low.For an undo tablespace with the AUTOEXTEND option enabled, the database attempts to honor the minimum retention period specified by UNDO_RETENTION. When space is low, instead of overwriting unexpired undo information, the tablespace auto-extends. If the MAXSIZE clause is specified for an auto-extending undo tablespace, when the maximum size is reached, the database may begin to overwrite unexpired undo information.
如果將初始化參數UNDO_MANAGEMENT設定為AUTO,則Oracle10g將啟用AUM。可以在初始化參數UNDO_RETENTION中設定撤銷保留時間的大小:UNDO_RETENTION=1800         設定保留時間為30分鐘(1800秒)UNDO_RETENTION參數預設設定為900秒。UNDO_RETENTION的值應該設定為多少才合理?不存在理想的UNDO_RETENTION的時間間隔。保留時間間隔依賴於估計最長的事務可能啟動並執行時間長度。根據資料庫中最長事務長度的資訊,可以給UNDO_RETENTION分配一個大致的時間。可以通過v$undostat視圖的maxquerylen列查詢在過去的一段時間內,最長的查詢執行的時間(以秒為單位)。UNDO_RETENTION參數中的時間設定應該至少與maxquerylen列中給出的時間一樣長。Oracle提供如下為新資料庫設定撤銷保留時間間隔的指導:1、 OLTP系統:15分鐘2、 混合: 1小時3、 DSS系統:3小時4、 閃回查詢:24小時UNDO_RETENTION參數的較高值並不保證撤銷資料保留UNDO_RETENTION參數指定的時間。為保證撤銷保留指定的時間,必須使用RETENTION GRARANTEE子句。例如:

CREATE UNDO TABLESPACE UNDOTBS01DATAFILE‘E:\oracle\product\10.2.0\oradata\keymen\UNDOTBS01.DBF’SIZE 500M AUTOEXTEND ONRETENTION GUARANTEE
也可以使用ALTER DATABASE命令保證資料庫中的撤銷保留

ALTER TABLESPACE UNDOTBS01 RETENTION GUARANTEE
關閉撤銷資訊的保證保留

ALTER TABLESPACE UNDOTBS01 RETENTION NOGUARANTEE
設定撤銷資料表空間的尺寸Oracle建議使用Undo Advisor的協助下設定撤銷資料表空間的尺寸。可以建立一個小尺寸(大約500M)的撤銷資料表空間,AUTOEXTEND資料檔案屬性設定為ON,從而允許資料表空間自動擴充。此資料表空間將自動成長以支援資料庫中活動事務數目的增長以及事務長度的增長。在資料庫運行適當的一段時間後,可以使用UNDO Advisor來得出關於設定撤銷資料表空間尺寸的建議。應該使用Analysis Time Period欄位中允許的最大時間。出於此目的,可以使用OEM UNDO Management頁面中給出的Longest——Runing Query長度。還必鬚根據閃回需求指定New UNDO Retention欄位的值。例如:如果希望表能閃回24小時,應該使用24小時作為這個欄位的值。假如資料庫中用RETENTION GUARANTEE子句配置了保證保留撤銷。如果撤銷資料表空間太小不能滿足使用它的所有活動事務,那麼會發生以下情況:1、 如果撤銷資料表空間用完85%,Oracle將發布一個自動資料表空間警告2、 當撤銷資料表空間用完97%時,Oracle將發布一個自動資料表空間嚴重警告3、 所有DML語句將不允許,並且會接收到一個空間超出錯誤4、 DDL語句允許繼續執行

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.