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
- ORACLE 常見等待事件Oracle事件
- oracle常見等待事件Oracle事件
- Oracle 常見的等待事件Oracle事件
- Oracle常見等待事件說明Oracle事件
- Oracle常見等待事件介紹Oracle事件
- 常見等待事件事件
- oracle常見的等待事件說明Oracle事件
- Oracle 常見的33個等待事件Oracle事件
- oracle常見等待事件及處理方法Oracle事件
- [異常等待事件latch undo global data]分析事件
- 常見的oraclet等待事件Oracle事件
- 【效能調整】等待事件(三) 常見等待事件(一)事件
- 【效能調整】等待事件(四) 常見等待事件(二)事件
- Oracle常見等待事件之direct path read/writeOracle事件
- 常見佇列等待事件處理思路佇列事件
- 常見等待事件的分析解決方法事件
- 常見等待事件的分析解決辦法事件
- 常見的wait等待事件及處理AI事件
- oracle常見異常等待——latch處理思路Oracle
- 常見的wait等待事件及處理(zt)AI事件
- Oracle中常見的33個等待事件小結Oracle事件
- oracle等待事件Oracle事件
- Oracle 等待事件Oracle事件
- Oracle Mutex 等待事件OracleMutex事件
- oracle等待事件一Oracle事件
- 【Oracle概念】-等待事件Oracle事件
- Oracle 等待事件 一Oracle事件
- Oracle的等待事件Oracle事件
- 【TUNE_ORACLE】等待事件之等待事件類別Oracle事件
- Oracle 空閒等待事件Oracle事件
- Oracle等待事件詳解Oracle事件
- ORACLE中的等待事件Oracle事件
- 第5 章、解釋常見的與I/O 有關的等待事件事件
- ORACLE等待事件詳解(轉)Oracle事件
- ORACLE等待事件:direct path writeOracle事件
- Oracle等待事件的種類Oracle事件
- Oracle 等待事件V$檢視Oracle事件