Oracle 隱藏參數:_undo_autotune、一個喫力不討好的活

文章出處:http://blog.csdn.net/dba_waterbin/article/details/8646982


雖然談論那些隱藏的參數必定是無意義的、但那些隱藏的參數卻是有價值的、我們不得不對那些隱藏的參數"心懷敬意"

      
      
      AUM下、爲什麼我的Undo表空間只增長,不回收,現在都40多G了,還在長,是爲什麼啊?
      爲什麼在系統不是很繁忙的時候會出現undo不夠用的情況呢,如果說不夠用,那在波峯時段應該問題更加嚴重纔對?
      ......
      有時候DBA會聽到諸如上面的一些聲音
      

      因爲有個參數叫_undo_autotune=true,undo_retention不再適用

      Oracle會自行決定tuned_undo_retention,然後試圖增大undo tablespace

      從10.2版本開始,oracle默認採用自動調整undo retention的方法

      根據你undo tablespace的大小以及系統的繁忙程度(v$undostat中信息)自動調整undo_retention參數

      所以在10g的數據庫上你會經常發現undo tablespace永遠是滿的

      因爲當你undo tablespace有空閒空間時,系統自動調大undo_retention來保留更多的undo blocks

      這一方法有利於時間長的查詢,但是對於典型的OLTP系統來說不太適用

      因爲OLTP上不太可能跑如此長時間的查詢,而且在很繁忙的 OLTP上還會導致上面所遇到的問題

      

      Oracle真是喫力不討好


  1. sys@ORCL> ed  
  2. Wrote file afiedt.buf  
  3.   
  4.   1  select a.ksppinm name,b.ksppstvl value,a.ksppdesc description  
  5.   2    from x$ksppi a,x$ksppcv b  
  6.   3   where a.indx = b.indx  
  7.   4*        and a.ksppinm like '%_undo_autotune%'  
  8.     
  9. sys@ORCL> /  
  10.   
  11. NAME                 VALUE    DESCRIPTION  
  12. -------------------- -------- ----------------------------------------  
  13. _undo_autotune       TRUE     enable auto tuning of undo_retention  


      該參數可以在線修改:

  1. alter system set “_undo_autotune” = false;    

      標註一下:
      如果undo不回收、resize可能是會報錯的、我遇到很多次了、一般都是、重建個undo表空間、然後切換過去、把以前的幹掉、通過這種方式來回收空間


****************************************************

Oracle 10g及後續版本較以前版本有一新特性即自動調整undo retention時間,大大簡便了管理,對於自動擴展(autoextend on)的undo表空間,參數undo_retention設置成爲Oracle自動調節undo retention的最低閥值。對於非自動擴展(autoextend off),非guarantee 的undo 表空間,Oracle會根據undo表空間大小和v$undostat的歷史信息(是否統計undo信息是由隱含參數_collect_undo_stats決定的,默認情況爲TRUE)最大可能性保留undo信息。

查看undo數據文件是否自動擴展,undo表空間是否處於gurantee狀態。

引用

SQL> select AUTOEXTENSIBLE,RETENTION

  2  from dba_tablespaces,dba_data_files

  3  where dba_data_files.TABLESPACE_NAME=dba_tablespaces.TABLESPACE_NAME

  4  and dba_data_files.TABLESPACE_NAME='UNDOTBS1'

  5  ;

AUT RETENTION

--- -----------

YES NOGUARANTEE

當然這一特性是由隱含參數_undo_autotune控制的,默認情況下設置爲TRUE,部分特殊情況下會將其設爲FALSE,如startup upgrade。


*********************************************************




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章