电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

判断一个死事务的恢复进度


发布日期:2020/12/28
 

在启用SMON的串行恢复后对于一个死事务如何观察其恢复进度

由于死事务已经无法通过v$transaction来观察所以必须通过内部表来进行判断

这个内部表是x$ktuxe该表会记录Dead事务的恢复进度

:: SQL> select distinct KTUXECFLcount(*) from x$ktuxe group by KTUXECFL;KTUXECFL COUNT(*) DEAD NONE SCO|COL

可以通过观察KTUXESIZ字段来评估恢复进度

:: SQL> select ADDRKTUXEUSNKTUXESLTKTUXESQNKTUXESIZ from x$ktuxe where KTUXEUSN= and KTUXESLT=;ADDR KTUXEUSN KTUXESLT KTUXESQN KTUXESIZ FFFFFFFFDBC :: SQL> select ADDRKTUXEUSNKTUXESLTKTUXESQNKTUXESIZ from x$ktuxe where KTUXEUSN= and KTUXESLT=;ADDR KTUXEUSN KTUXESLT KTUXESQN KTUXESIZ FFFFFFFFDBC

根据评估这个事务回滚需要大约我Ft

:: SQL> declare:: l_start number;:: l_end number;:: begin:: select ktuxesiz into l_start from x$ktuxe where KTUXEUSN= and

KTUXESLT=;:: dbms_locksleep();:: select ktuxesiz into l_end from x$ktuxe where KTUXEUSN= and

KTUXESLT=;:: dbms_outputput_line(time est Day:|| round(l_end/(l_start

l_end)//));:: end;:: /time est Day:

这是非常有用的一个内部表大家可以参考一下

上一篇:LILO使用指南(下)

下一篇:userenv和sys