Oracle undo保留時間的幾個相關引數
參考文件:
https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams265.htm#REFRN10225
https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams264.htm#REFRN10224
MOS 文件 ID 1526122.1
MOS 文件 ID 846079.1
適用版本:10.1.0.5以上
相關引數:
_highthreshold_undoretention,_smu_debug_mode,_undo_autotune,undo_management,undo_retention,undo_tablespace
undo主要功能:
undo segement 回滾段主要工作是為了構造讀一致性,事物回滾,資料庫恢復,閃回查詢
正文:
這裡主要介紹幾個引數的設定
_highthreshold_undoretention —- 單位 秒,預設值 4294967294 。允許undo_retention 設定的最大值,當修改undo_retention的值超過改引數值,相關報錯 ORA-55567,ORA-55568,ORA-55569
_smu_debug_mode —undo除錯引數,通過設定特定值可以啟動特殊作用,如 4, 33445542
_undo_autotune — 預設 true 開啟。自動調整回滾段的保留時間。
undo_retention — 單位 秒,預設900秒,undo段儘可能的保留時間
undo_management —undo段管理方式,預設auto 自動使用undot ablespace 管理。MANUAL 利用 rollback segment管理
undo_tablespace —- 指定undo使用的表空間
SYS@ >select a.inst_id, a.ksppinm "Parameter",
2 b.ksppstvl "Session Value",
c.ksppstvl "Instance Value"
4 from x$ksppi a, x$ksppcv b, x$ksppsv c
5 where a.indx = b.indx and a.indx = c.indx
6 and a.inst_id=b.inst_id and b.inst_id=c.inst_id
and a.ksppinm in ('_undo_autotune', '_smu_debug_mode',
8 '_highthreshold_undoretention',
'undo_tablespace','undo_retention','undo_management')
10 order by 2;
Instance # Parameter Session Value Instance Value
---------- ----------------------------------- ------------------------- -------------------------
1 _highthreshold_undoretention 4294967294 4294967294
1 _smu_debug_mode 0 0
1 _undo_autotune TRUE TRUE
1 undo_management AUTO AUTO
1 undo_retention 900 900
1 undo_tablespace UNDOTBS1 UNDOTBS1
6 rows selected.
實際undo段的保留時間,undo段覆蓋與否,絕大數情況是由表空間的使用情況結合相關引數來決定的。(除非對undo tablespace 設定了retention guarantee 特性,強制保留undo segment達到保留時間值,不然不會覆蓋,哪怕表空間不足也是。隱患太大,不太考慮)
PS:undo段的保留時間只是讓已提交事務的 undo segment 標記為 UNEXPIRED(未過期),我們其實知道不管是UNEXPIRED 還是 EXPIRED 狀態的 undo segment 都是可能會被覆蓋的。只是優先覆蓋EXPIRED ,如果空間不足一樣覆蓋UNEXPIRED
以下情況都是 undo tablespace 是NOGUARANTEE
引數組合情況一:
在預設情況下,及_undo_autotune=true 時候及undo tablespace 的autoextend =yes 自動擴充套件
_smu_debug_mode =0
_undo_autotune =true
undo_retention =900 (這個值可自行修改)
開啟自動調整時實際的保留時間以試圖V$UNDOSTAT中的欄位 TUNED_UNDORETENTION 值為準,且>=undo_retention值
SELECT TO_CHAR(BEGIN_TIME, 'YYYY-MM-DD HH24:MI:SS') BEGIN_TIME,TUNED_UNDORETENTION FROM V$UNDOSTAT;
2018-07-08 01:59:26 1412
2018-07-08 01:49:26 900
2018-07-08 01:39:26 1413
2018-07-08 01:29:26 900
2018-07-08 01:19:26 1417
2018-07-08 01:09:26 2021
2018-07-08 00:59:26 1421
2018-07-08 00:49:26 900
2018-07-08 00:39:26 1422
2018-07-08 00:29:26 900
2018-07-08 00:19:26 1427
2018-07-08 00:09:26 900
2018-07-07 23:59:26 1430
2018-07-07 23:49:26 900
2018-07-07 23:39:26 1432
2018-07-07 23:29:26 900
2018-07-07 23:19:26 1436
情況二:
相對於情況一,如果只是 undo tablespace 非自動擴充套件
這時oracle根據undo表空間大小與使用情況自動調整最大可能的保留時間,及忽略undo_retention的值
情況三:
undo tablespace 自動擴充套件
_smu_debug_mode = 33445542
_undo_autotune =true
undo_retention =900 (這個值可自行修改)
這時oracle自動調整的
TUNED_UNDORETENTION = (undo_retention值 or 執行時間最長的 SQL 的執行時間)
情況四:
undo tablespace 自動擴充套件
_undo_autotune =false
undo_retention =900 (這個值可自行修改)
這時oracle 自動調整關閉
TUNED_UNDORETENTION = undo_retention
情況五:
對於lob 欄位
lob 欄位 undo 不是利用undo tablespace,而是利用自己儲存空間。 例如 BasicFiles lob欄位指定了 retention引數 則繼承 undo_retention引數的值。
lob情況特殊,還有其他一些限制 參考 mos文件846079.1
相關文章
- 聊聊Oracle Optimizer相關的幾個引數(中)Oracle
- 聊聊Oracle Optimizer相關的幾個引數(下)Oracle
- Oracle UNDO引數Oracle
- 幾個和MySQL InnoDB相關的引數設定說明MySql
- 並行相關的幾個引數並行
- oracle相關的linux核心引數OracleLinux
- Oracle UNDO引數詳解Oracle
- MySQL的幾個和innodb相關的主要引數設定總結MySql
- oracle 身份認證相關引數Oracle
- 幾項網路安全相關的no引數詳解
- oracle sga配置相關的os 核心引數Oracle
- oracle臨時表空間相關Oracle
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle
- Linux系統中與記憶體相關的幾個核心引數Linux記憶體
- Oracle幾個初始化引數Oracle
- 【Oracle】-【sqlplus相關】-serveroutput引數OracleSQLServer
- oracle 安裝相關引數設定Oracle
- Oracle的AMM和ASMM以及相關引數探究OracleASM
- Oracle查詢優化器的相關引數Oracle優化
- Oracle優化相關的一些引數Oracle優化
- (轉)Linux 核心引數及Oracle相關引數調整LinuxOracle
- 時間相關的操作
- Oracle安裝相關Linux引數(轉)OracleLinux
- 【轉】Oracle安裝相關Linux引數OracleLinux
- Spark的相關引數配置Spark
- linux 跟oracle相關的系統核心引數?LinuxOracle
- oracle 兩個時間相減得秒Oracle
- 時間相關的工具類
- oracle10g undo tablespace相關知識Oracle
- Oracle AWR II -- 歷史快照保留時間Oracle
- Oracle direct path read相關隱含引數Oracle
- UNDO相關查詢
- MySQL效能相關引數MySql
- 歸檔相關引數
- PostgreSQL AutoVacuum 相關引數SQL
- 與oracle緊密相關的unix/linux核心引數OracleLinux
- Oracle CSS的引數設定 心跳時間設定OracleCSS