Oracle常見UNDO等待事件
latch:undo global data
通常是undo tablespace datafile達到上限後,DBA_UNDO_EXTENTS.STATUS=EXPIRED 沒有或者很少了。 Oracle需要將UN EXPIRED狀態變為 EXPIRED後DML才能執行,這是 主要等待時間。
解決方法 : 修改undo_retention改小,或增加undo datafile
enq: US - contention
通常是DML併發 量增加(例: 兩節點RAC,一節點業務,一節點空閒,業務節點crash failover到空閒節點後發生此等待), Oracle需從undo tablespace中分配大量online狀態的rollback segment供DML操作使用,這是主要等待時間。
解決方法 : 將_rollback_segment_count 引數設定較大的固定值,比如無腦設定6000
alter system set "_rollback_segment_count"=6000 scope=both sid='*';
PS: 可以檢視V$UNDOSTAT.MAXCONCURRENCY 這是DB啟動後配置過的最大的 rollback_segment_count
latch: row cache objects (dc_rollback_segments)
通常是undo tablespace datafile size不足時自動擴充套件導致, 這是主要等待時間。
解決方法 : 將 undo tablespace datafile size調大/多增加幾個,並設定為不自動擴充套件 ,如:
alter database datafile '/oradata/orcl/undotbs01.dbf' resize 32767M ;
alter tablespace undotbs1 add datafile '/oradata/orcl/undotbs02.dbf' size 32767M autoextend off;
檢查latch過程:
透過取ASH中P1 值
select p1 from v$active_session_history where EVENT='latch: row cache objects' ;
計算P1值十六進位制:
SELECT to_char(p1,'XXXXXXXXXXXXXX') FROM DUAL;
--------------
123BF1CB9
檢查latch物件
SELECT kqrsttxt PARAMETER,
kqrstcid CACHE#,
kqrstcln "Lchild#",
kqrstgrq "DCGets",
l.gets "LGets",
l.misses "Misses",
l.addr
FROM X$KQRST, V$LATCH_CHILDREN l
WHERE l.addr like '%123BF1CB9'
and l.child# = KQRSTCLN
PARAMETER CACHE# Lchild# DCGets LGets Misses ADDR
-------------------------------- ---------- ---------- ---------- --------- ---------- ----------------
dc_rollback_segments 3 1 ................
或:
select la.addr laaddr,dc.kqrstcid CACHE#, dc.kqrsttxt PARAMETER,
decode(dc.kqrsttyp, 1,'PARENT','SUBORDINATE') type,
decode(dc.kqrsttyp, 2, kqrstsno, null) subordinate#,
dc.kqrstgrq rcgets, dc.kqrstgmi rcmisses, dc.kqrstmrq rcmodifications,
dc.kqrstmfl rcflushes, dc.kqrstcln,
la.gets lagets, la.misses lamisses, la.immediate_gets laimge
from x$kqrst dc,
v$latch_children la
where dc.inst_id = userenv('instance')
and la.child# = dc.kqrstcln
and la.name = 'row cache objects'
and la.ADDR like '%123BF1CB9';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-2990280/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 常見等待事件Oracle事件
- [異常等待事件latch undo global data]分析事件
- oracle常見異常等待——latch處理思路Oracle
- 常見佇列等待事件處理思路佇列事件
- 常見的wait等待事件及處理(zt)AI事件
- 【TUNE_ORACLE】等待事件之等待事件類別Oracle事件
- Oracle等待事件之enq: TM – contentionOracle事件ENQ
- oracle等待事件之enq: CF – contentionOracle事件ENQ
- 【TUNE_ORACLE】等待事件之日誌等待“log file sync”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“read by other session”Oracle事件Session
- 【TUNE_ORACLE】等待事件之IO等待“direct path read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path write”Oracle事件
- 等待事件wait for a undo record 與 fast_start_parallel_rollback引數事件AIASTParallel
- 【TUNE_ORACLE】等待事件之日誌等待“log file parallel write”Oracle事件Parallel
- 【TUNE_ORACLE】等待事件之IO等待“db file scattered read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“direct path write temp”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“db file sequential read”Oracle事件
- 【TUNE_ORACLE】等待事件之IO等待“db file parallel write”Oracle事件Parallel
- Oracle面試寶典-等待事件篇Oracle面試事件
- oracle等待事件之cursor:pin S wait on XOracle事件AI
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 【TUNE_ORACLE】等待事件之“buffer busy waits”Oracle事件AI
- 【TUNE_ORACLE】等待事件之“library cache pins”Oracle事件
- oracle 11.2.0.4 rac叢集等待事件enq: TM - contentionOracle事件ENQ
- [異常等待事件rdbms ipc reply]-分析說明事件
- Solidity事件,等待事件Solid事件
- Oracle Redo and UndoOracle Redo
- jquery鍵盤常見事件---jQuery事件
- react常見幾種事件宣告React事件
- Oracle 19c中的等待事件分類 Event WaitsOracle事件AI
- oracle undo分配規則Oracle
- Oracle OCP(48):UNDO TABLESPACEOracle
- oracle的redo和undoOracle
- 梳理下常見的不冒泡事件事件
- Selenium等待事件Waits事件AI
- Oracle10g等待事件型別wait_class說明Oracle事件型別AI
- 關於oracle中的undoOracle
- 【REDO】Oracle redo undo 學習Oracle Redo