问:一次回滚需要多长时间?我试图删除表中的4200万条记录并且等了三个小时。在此之后我需要删除脚本做truncate。但是我仍然收到报错:ORA-00054。 答:做一次回滚需要花很长的时间。
我推测你得到答案的时候,回滚才会完成。 但是为了给以后作参考,回滚操作可以很长,特别是如果你回滚4200条行的删除操作。 很显然,如果DELETE操作时间越长,那么回滚所花费的时间也就越长。但是真正的时间是随着不同情况变化的。
你可能不得不收集其他过程的资源。这些资源可能还包括CPU和磁盘I/O。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
问:一次回滚需要多长时间?我试图删除表中的4200万条记录并且等了三个小时。在此之后我需要删除脚本做truncate。但是我仍然收到报错:ORA-00054。
答:做一次回滚需要花很长的时间。我推测你得到答案的时候,回滚才会完成。
但是为了给以后作参考,回滚操作可以很长,特别是如果你回滚4200条行的删除操作。
很显然,如果DELETE操作时间越长,那么回滚所花费的时间也就越长。但是真正的时间是随着不同情况变化的。你可能不得不收集其他过程的资源。这些资源可能还包括CPU和磁盘I/O。
作者
Techtarget旗下Searchoracle网站的资深专家,有16年IT行业经验、计算机科学硕士、专攻数据库方向,曾担任系统管理员等职。此外,他还获Oracle 7.3、8和8i的OCP数据库管理员证书,目前为SGT Inc.公司首席DBA。
翻译
相关推荐
-
Oracle DML语句回滚开销估算
数据库事务由1个或多个DML SQL组成,我们知道Oracle数据库在进行DML操作需要使用UNDO表空间来保存事务回滚的信息,对于每种DML操作回滚的UNDO信息都不一样。
-
对Oracle Undo与Redo的通俗理解
REDO是为了重新实现你的操作,而UNDO相反,是为了撤销你做的操作,比如你的一个事务执行失败了,则需要用ROLLBACK命令回退到操作之前。
-
如何解决回滚段空间不足问题(下)
只有当一个会话使用临时表,并向表中插入数据后,oracle才会在临时表空间上创建它的数据对象。
-
如何解决回滚段空间不足问题(上)
指定回滚段是针对事务的,不是针对回滚段。也就是说,我们可以指定某个事务只使用某个回滚段,但是不能保证这个回滚段只被这个事务事务。