oracle 11g undo_retention 以及retention guarantee 小節
查詢的過程會在undo段中查詢該資料塊的前映像後,然後把前映像和current塊合併形成了一個CR block,透過查詢cr block就可以滿足資料的一致性了。
CR block存在於sga的buffer cache中,在db cache裡申請一個資料塊(當前塊),然後和對應的回滾段的前映像生成cr block。
關於undo的引數:
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
從11g開始oracle預設都是undo tablespace 自動管理,並且如果你沒有指定undo_tablespace 這個引數,也就是說沒有undo表空間,那麼oracle就會把修改塊的前映象放到system表空間裡面,並且會在alert日誌裡面告警:資料庫 running without an undo tablespace。
下面重點解釋 undo_retention
我們知道undo segments的extents 的狀態共有四種,free ,active , inacitve, expired
SQL> select SEGMENT_NAME,TABLESPACE_NAME,STATUS from dba_undo_extents;
SEGMENT_NAME TABLESPACE_NAME STATUS
------------------------------ ------------------------------ ---------
_SYSSMU10_3534552179$ UNDOTBS1 EXPIRED
_SYSSMU10_3534552179$ UNDOTBS1 EXPIRED
_SYSSMU10_3534552179$ UNDOTBS1 UNEXPIRED
_SYSSMU10_3534552179$ UNDOTBS1 EXPIRED
_SYSSMU10_3534552179$ UNDOTBS1 EXPIRED
_SYSSMU10_3534552179$ UNDOTBS1 EXPIRED
_SYSSMU9_3683992930$ UNDOTBS1 EXPIRED
_SYSSMU9_3683992930$ UNDOTBS1 EXPIRED
_SYSSMU9_3683992930$ UNDOTBS1 EXPIRED
當沒有可用的undo空間時,可以去覆蓋inactive狀態的區,這樣就有可能報錯ora-01555,不能一致讀了,因為你的undo_retention 值是透過諮詢你們當前業務的查詢語句執行時間最長的那個時間來確定的,也就是說undo_retention > sql執行最長時間 ,因此你使用不使用GUARANTEE取決於你業務的需求。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-2106256/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- undo_retention的作用
- Oracle 11g RAC重新新增節點Oracle
- oracle 11g rac新增節點前之清除節點資訊Oracle
- 11g rac新增節點步驟(11g)
- Oracle之11g DataGuardOracle
- [20230227][20230109]Oracle Global Temporary Table ORA-01555 and Undo Retention.tOracle
- Oracle 11G 安裝文件Oracle
- benchmark 壓測Oracle 11gOracle
- sysbench壓測Oracle 11gOracle
- 關於Oracle 11G RAC雙節點之間存在防火牆導致只能一個節點執行Oracle防火牆
- guarantee restore points-Flashback after RMAN restoreREST
- Oracle 11G 安裝 bbed 工具Oracle
- oracle 11g data guard維護Oracle
- oracle 11g OEM在哪裡找到???Oracle
- oracle 11g 常用命令Oracle
- Oracle 11g RAC Silent Install For NFSOracleNFS
- Oracle 11g刪除庫重建Oracle
- Oracle 11G 修改scan_ipOracle
- Oracle 11G RAC叢集安裝(3)——安裝OracleOracle
- Oracle Linux 6.7 靜預設安裝Oracle 11gOracleLinux
- rac新增節點步驟(11g)
- Oracle 11g RAC 監聽日常管理Oracle
- Oracle 11g 052題庫解析1Oracle
- oracle 11g datagurd主從切換Oracle
- ORACLE10G升級11GOracle
- Oracle 11g RAC手動新增serviceOracle
- Oracle 11g dg broker自動failoverOracleAI
- Automatic Diagnostic Repository (ADR) with Oracle Net for 11gOracle
- Oracle 11g關閉開啟AWROracle
- oracle 11g 系統審計功能Oracle
- Oracle:Redhat 7 + Oracle RAC 11g 安裝 bug 總結OracleRedhat
- Oracle 11g 重新建立控制檔案Oracle
- Oracle Data Pump 11G 資料泵元件Oracle元件
- Oracle 11g dataguard 配置簡約步驟Oracle
- oracle 11g自動記憶體管理Oracle記憶體
- Oracle 11g升級到12COracle
- Oracle GoldenGate 11g官方文件Administrator’s GuideOracleGoGUIIDE
- Oracle 11g DG新特性--Automatic block repairOracleBloCAI
- Oracle 11g單主搭建物理DGOracle