温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle如何加快回滚速度

发布时间:2021-11-11 17:24:57 来源:亿速云 阅读:604 作者:小新 栏目:关系型数据库

这篇文章将为大家详细讲解有关oracle如何加快回滚速度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

记得一次大批量删除数据时,由于回滚段满,导致delete操作失败,大量事务回滚,这个表又是交易使用,rollback时,导致cpu idle急剧降低,cpu和io都繁忙了,交易根本无法使用这个表,程序直接挂死,真是带血的教训。作为dba,当时想办法就是加快回滚速度:
提高并行回滚进程的数量,设置为HIGH时回滚进程=4*cpu数。在sql命令行模式下执行
动态修改

ALTER SYSTEM SET FAST_START_PARALLEL_ROLLBACK = HIGH;

参数解释:

Values:

FALSE

Parallel rollback is disabled

LOW

Limits the maximum degree of parallelism to 2 * CPU_COUNT

HIGH

Limits the maximum degree of parallelism to 4 * CPU_COUNT

If you change the value of this parameter, then transaction recovery will be stopped and restarted with t

相关视图:

select * from  v$fast_start_transactions

回滚过程中,回滚的进度可以通过视图V$FAST_START_TRANSACTIONS来确定

USN:事务对应的undo段

STATE:事务的状态,可选的值为(BE RECOVERED, RECOVERED, or RECOVERING)

UNDOBLOCKSDONE:已经完成的undo块

UNDOBLOCKSTOTAL:总的undo数据块

CPUTIME:已经回滚的时间,单位是秒

RCVSERVERS:回滚的并行进程数

待回滚结束,为了减少undo的影响,fast_start_parallel_rollback恢复为false,
alter system set fast_start_parallel_rollback= FALSE;

关于“oracle如何加快回滚速度”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI