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 参数设置较大的固定值,比如无脑设置6000alter 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 laimgefrom x$kqrst dc,v$latch_children lawhere dc.inst_id = userenv('instance')and la.child# = dc.kqrstclnand la.name = 'row cache objects'and la.ADDR like '%123BF1CB9';
Oracle常见UNDO等待事件
来源:这里教程网
时间:2026-03-03 19:00:27
作者:
编辑推荐:
- Oracle常见UNDO等待事件03-03
- oracle rac dg库报错ORA-01031: insufficient privileges03-03
- [20231013]rename IDL_UB1$的恢复.txt03-03
- [20231013]为什么刷新缓存后输出记录顺序发生变化3.txt03-03
- 一次ORA-00600: internal error code, arguments: [12700]排查修复03-03
- ORACLE read by other session详解03-03
- 记一次ORA-04030–无法分配内存的错误03-03
- 记一次bbed坏块模拟及rman恢复03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 修改主机时区对Oracle的影响分析
修改主机时区对Oracle的影响分析
26-03-03 - Oracle 标准审计功能及开启
Oracle 标准审计功能及开启
26-03-03 - 研究Oracle 延迟块清除(defered block cleanout)
- ORACLE下一次奇怪的job停止问题分析及处理
ORACLE下一次奇怪的job停止问题分析及处理
26-03-03 - Oracle标准审计,关闭AUDIT
Oracle标准审计,关闭AUDIT
26-03-03 - Oracle 在查询的where子句中,索引的索引列/前导列是否作为单个表谓词提供列进行匹配
- Oracle 标准审计,设置AUDIT_SYSLOG _LEVEL参数
Oracle 标准审计,设置AUDIT_SYSLOG _LEVEL参数
26-03-03 - 一次异常宕机后数据库启动报ora-600[4000]错误恢复
一次异常宕机后数据库启动报ora-600[4000]错误恢复
26-03-03 - 数据库数据恢复-Oracle数据库truncate table如何恢复数据?
- 创作新纪元:知乎、阅文加码AI大模型,撬动创作者经济
创作新纪元:知乎、阅文加码AI大模型,撬动创作者经济
26-03-03
