前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【快问快答】事务异常或者instance abort时,如何估算事务rollback时间

【快问快答】事务异常或者instance abort时,如何估算事务rollback时间

作者头像
SQLplusDB
发布2022-08-22 13:19:38
2070
发布2022-08-22 13:19:38
举报
文章被收录于专栏:Oracle数据库技术

编者按:

本文作者系流浪的金鱼(花名),甲骨文数据库工程师。个人主页:https://blog.csdn.net/rishairu1,经其本人授权发布。

【免责声明】本号文章仅代表个人观点,与任何公司无关。

来源|SQL和数据库技术(ID:SQLplusDB)

快问快答,不高深,但是知道了就知道了!

如果事务被异常或者手动中断,或者shutdown abort的时候,正在执行的事务会被rollback。那么这个时候如何确认是否被rollback以及其进度呢。

我们可以通过 V$FAST_START_TRANSACTIONS 这个View,根据undo使用量来观察和计算进度。

代码语言:javascript
复制
select USN, SLT, SEQ, UNDOBLOCKSDONE, UNDOBLOCKSTOTAL
from V$FAST_START_TRANSACTIONS;

USN,SLT和SEQ是异常发生前事物的识别号。UNDOBLOCKSDONE是已经完成rollback的UNDO block数,

UNDOBLOCKSTOTAL是合计需要rollback的undo block数。

当异常发生或者shutdown abort,rollback在进行的过程中,UNDOBLOCKSDONE会逐渐增加。

通过UNDOBLOCKSDONE 和 UNDOBLOCKSTOTAL 比例就可以估算出大概的rollback时间。

例如

代码语言:javascript
复制
sql> set time on 
20:15:50
sql> select USN, SLT, SEQ, UNDOBLOCKSDONE, UNDOBLOCKSTOTAL
from V$FAST_START_TRANSACTIONS;
 
USN     SLT     SEQ     UNDOBLOCKSDONE                    UNDOBLOCKSTOTAL
------- ------- ------- --------------------------------- ---------------------------------
22      0       3688    988                               18566
 
20:16:23
sql> select USN, SLT, SEQ, UNDOBLOCKSDONE, UNDOBLOCKSTOTAL
from V$FAST_START_TRANSACTIONS;
USN     SLT     SEQ     UNDOBLOCKSDONE                    UNDOBLOCKSTOTAL
------- ------- ------- --------------------------------- ---------------------------------
22      0       3688    12033                              18566
18566/(12033-988)/(20:16:23 - 20:15:50) = 55.5秒

注意,这个值是估算值,实际有可能增加也可能减少,供参考。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SQL和数据库技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档