一次回滚需要多长时间?

日期: 2009-05-21 作者:Brian Peasland翻译:April 来源:TechTarget中国 英文

问:一次回滚需要多长时间?我试图删除表中的4200万条记录并且等了三个小时。在此之后我需要删除脚本做truncate。但是我仍然收到报错:ORA-00054。   答:做一次回滚需要花很长的时间。

我推测你得到答案的时候,回滚才会完成。   但是为了给以后作参考,回滚操作可以很长,特别是如果你回滚4200条行的删除操作。   很显然,如果DELETE操作时间越长,那么回滚所花费的时间也就越长。但是真正的时间是随着不同情况变化的。

你可能不得不收集其他过程的资源。这些资源可能还包括CPU和磁盘I/O。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

问:一次回滚需要多长时间?我试图删除表中的4200万条记录并且等了三个小时。在此之后我需要删除脚本做truncate。但是我仍然收到报错:ORA-00054。

  答:做一次回滚需要花很长的时间。我推测你得到答案的时候,回滚才会完成。

  但是为了给以后作参考,回滚操作可以很长,特别是如果你回滚4200条行的删除操作。

  很显然,如果DELETE操作时间越长,那么回滚所花费的时间也就越长。但是真正的时间是随着不同情况变化的。你可能不得不收集其他过程的资源。这些资源可能还包括CPU和磁盘I/O。

作者

Brian Peasland
Brian Peasland

Techtarget旗下Searchoracle网站的资深专家,有16年IT行业经验、计算机科学硕士、专攻数据库方向,曾担任系统管理员等职。此外,他还获Oracle 7.3、8和8i的OCP数据库管理员证书,目前为SGT Inc.公司首席DBA。

翻译

April
April

相关推荐

  • Oracle DML语句回滚开销估算

    数据库事务由1个或多个DML SQL组成,我们知道Oracle数据库在进行DML操作需要使用UNDO表空间来保存事务回滚的信息,对于每种DML操作回滚的UNDO信息都不一样。

  • 对Oracle Undo与Redo的通俗理解

    REDO是为了重新实现你的操作,而UNDO相反,是为了撤销你做的操作,比如你的一个事务执行失败了,则需要用ROLLBACK命令回退到操作之前。

  • 如何解决回滚段空间不足问题(下)

    只有当一个会话使用临时表,并向表中插入数据后,oracle才会在临时表空间上创建它的数据对象。

  • 如何解决回滚段空间不足问题(上)

    指定回滚段是针对事务的,不是针对回滚段。也就是说,我们可以指定某个事务只使用某个回滚段,但是不能保证这个回滚段只被这个事务事务。