本文将详细解释oracle如何加快回滚。边肖觉得很实用,分享给大家参考。希望你看完这篇文章能有所收获。
记得大批量删除数据的时候,回滚段满了,导致删除操作失败,大量事务回滚。回滚时cpu空闲急剧下降,cpu和io忙,事务根本无法使用这个表,程序直接挂起。这是一个血腥的教训。作为一名数据库管理员,我当时试图加快回滚速度:
增加并行回滚进程的数量。当设置为高时,回滚进程的数量=4*cpu。以sql命令行模式执行
动态修改
更改系统设置快速启动并行回滚=高;
参数说明:
值:
错误的
并行回滚被禁用
低的
将最大并行度限制为2 * CPU_COUNT
高的
将最大并行度限制为4 * CPU_COUNT
如果更改此参数的值,事务恢复将停止,并使用t重新启动
相关视图:
从v$fast_start_transactions中选择*
在回滚过程中,回滚的进度可以通过查看V$FAST_START_TRANSACTIONS来确定。
USN:撤消与事务处理对应的段
状态:事务的状态。可选值为(被发现、被发现或正在恢复)
UNDOBLOCKSDONE:已完成的撤消块。
撤消数据块总数
CPUTIME:已回滚的时间,以秒为单位。
RCVSERVERS:回滚的并行进程数
回滚结束时,为了减少撤销的影响,fast_start_parallel_rollback恢复为false。
更改系统设置fast _ start _ parallel _ roll back=FALSE;
“如何加快oracle中的回滚”一文到此结束。我希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/83262.html