昨天碰到一个问题,在启用SMON的串行恢复后,对于一个死事务,如何观察其恢复进度。 由于死事务已经无法通过v$transaction来观察,所以必须通过内部表来进行判断。 这个内部表是x$ktuxe,该表会记录Dead事务的恢复进度: 17:30:37 SQL> select distinct KTUXECFL,count(*) from x$ktuxe group by KTUXECFL; KTUXECFL COUNT(*) ------------------------ ---------- DEAD 1 NONE 2393 SCO|COL 8 KTUXESIZ用来记录事务使用的回滚段块数,可以通过观察这个字段来评估恢复进度: 16:59:47 SQL> select ADDR,KTUXEUSN,KTUXESLT,KTUXESQN,KTUXESIZ 2 from x$ktuxe where KTUXECFL ='DEAD'; ADDR KTUXEUSN KTUXESLT KTUXESQN KTUXESIZ ---------------- ---------- ---------- ---------- ---------- FFFFFFFF7D07B91C 10 39 2567412 1086075 17:02:12 SQL> select ADDR,KTUXEUSN,KTUXESLT,KTUXESQN,KTUXESIZ 2 from x$ktuxe where KTUXECFL ='DEAD'; ADDR KTUXEUSN KTUXESLT KTUXESQN KTUXESIZ ---------------- ---------- ---------- ---------- ---------- FFFFFFFF7D07B91C 10 39 2567412 1086067 可以通过观察KTUXESIZ字段来评估恢复进度: 16:59:47 SQL> select ADDR,KTUXEUSN,KTUXESLT,KTUXESQN,KTUXESIZ 2 from x$ktuxe where KTUXEUSN=10 and KTUXESLT=39; ADDR KTUXEUSN KTUXESLT KTUXESQN KTUXESIZ ---------------- ---------- ---------- ---------- ---------- FFFFFFFF7D07B91C 10 39 2567412 1086075 17:02:12 SQL> select ADDR,KTUXEUSN,KTUXESLT,KTUXESQN,KTUXESIZ 2 from x$ktuxe where KTUXEUSN=10 and KTUXESLT=39; ADDR KTUXEUSN KTUXESLT KTUXESQN KTUXESIZ ---------------- ---------- ---------- ---------- ---------- FFFFFFFF7D07B91C 10 39 2567412 1086067 根据评估,这个事务回滚需要大约2.55天,我Ft: 17:08:28 SQL> declare 17:10:22 2 l_start number; 17:10:22 3 l_end number; 17:10:22 4 begin 17:10:22 5 select ktuxesiz into l_start from x$ktuxe where KTUXEUSN=10 and KTUXESLT=39; 17:10:22 6 dbms_lock.sleep(60); 17:10:22 7 select ktuxesiz into l_end from x$ktuxe where KTUXEUSN=10 and KTUXESLT=39; 17:10:22 8 dbms_output.put_line('time est Day:'|| round(l_end/(l_start -l_end)/60/24,2)); 17:10:22 9 end; 17:10:22 10 / time est Day:2.55 这是非常有用的一个内部表,大家可以参考一下。
死事务判断smon回滚速度
来源:这里教程网
时间:2026-03-03 21:44:16
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 第34期 CURSOR_SHARING和FORCE_MATCHING_SIGNATURE对SQL计划稳定性的局限性
- windows下oracle打完补丁不能正常启动服务
windows下oracle打完补丁不能正常启动服务
26-03-03 - 一次数据库访问异常分析
一次数据库访问异常分析
26-03-03 - 一次Undo表空间耗尽问题
一次Undo表空间耗尽问题
26-03-03 - 19C统计信息引发的数据库慢问题
19C统计信息引发的数据库慢问题
26-03-03 - SQL优化之数据倾斜解决方案
SQL优化之数据倾斜解决方案
26-03-03 - 一次报表查询优化
一次报表查询优化
26-03-03 - 一次数据库CPU使用100%异常处理及分析报告
一次数据库CPU使用100%异常处理及分析报告
26-03-03 - 一次expdp备份hang住问题分析
一次expdp备份hang住问题分析
26-03-03 - 利用Deepseek 割韭菜的套路有哪些?
利用Deepseek 割韭菜的套路有哪些?
26-03-03
