最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

调整Oracle回滚的速度

来源:动视网 责编:小采 时间:2020-11-09 12:44:26
文档

调整Oracle回滚的速度

调整Oracle回滚的速度:回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整 关于fast_start_parallel_rollback参数,此参数 回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整 关于fast_start_
推荐度:
导读调整Oracle回滚的速度:回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整 关于fast_start_parallel_rollback参数,此参数 回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整 关于fast_start_


回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整 关于fast_start_parallel_rollback参数,此参数

回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整

关于fast_start_parallel_rollback参数,此参数决定了回滚启动的并行次数,在繁忙的系统或者IO性能较差的系统,如果出现大量回滚操作,会显著影响系统系统,可以通过调整此参数来降低影响。官方文档的定义如下

FAST_START_PARALLEL_ROLLBACK specifies the degree of parallelism used when recovering terminated transactions. Terminated transactions are transactions that are active before a system failure. If a system fails when there are uncommitted parallel DML or DDL transactions, then you can speed up transaction recovery during startup by using this parameter.

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 the new implied degree of parallelism.

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

SQL> select usn, state, undoblocksdone, undoblockstotal, CPUTIME, pid,xid, rcvservers from v$fast_start_transactions;

USN STATE UNDOBLOCKSDONE UNDOBLOCKSTOTAL CPUTIME PID XID RCVSERVERS
---------- ---------------- -------------- --------------- ---------- ---------- ---------------- ----------
454 RECOVERED 110143 110143 210 01C600210027E0D9 1
468 RECOVERED 430 430 17 01D40000001F3A36 128

USN:事务对应的undo段
STATE:事务的状态,可选的值为(BE RECOVERED, RECOVERED, or RECOVERING)
UNDOBLOCKSDONE:已经完成的undo块
UNDOBLOCKSTOTAL:总的undo数据块
CPUTIME:已经回滚的时间,单位是秒
RCVSERVERS:回滚的并行进程数

补充,查询回滚时间更好的脚本
sys@MS4ADB3(dtydb5)> select undoblockstotal "Total", undoblocksdone "Done", undoblockstotal-undoblocksdone
2 "ToDo",decode(cputime,0,'unknown',to_char(sysdate+(((undoblockstotal-undoblocksdone)
3 / (undoblocksdone / cputime)) / 86400),'yyyy-mm-dd hh24:mi:ss'))
4 "Estimated time to complete",to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
5 from v$fast_start_transactions;

Total MB Done ToDo Estimated time to complete TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS'
---------- ---------- ---------- -------------------------------------- --------------------------------------
36,767 36767 0 2014-03-19 16:59:19 2014-03-19 16:59:19
7,209 7209 0 2014-03-19 16:59:19 2014-03-19 16:59:19
3,428 3428 0 2014-03-19 16:59:19 2014-03-19 16:59:19
34,346 1604 32742 2014-03-19 17:25:31 2014-03-19 16:59:19

下面是一次大量wait for a undo record等待事件的处理过程

1,某用户使用plsql执行某 insert操作异常,导致表空间不断增长,于是手工kill该回滚停掉,kill后大量wait for a undo record,大约100多个

2,查询v$fast_start_transactions视图,由于fast_start_parallel_rollback参数设置为HIGH,且cpu为32个,因此并行进程为32×3=128个

SQL> select usn, state, undoblocksdone, undoblockstotal, CPUTIME, pid,xid, rcvservers from v$fast_start_transactions;

USN STATE UNDOBLOCKSDONE UNDOBLOCKSTOTAL CPUTIME PID XID RCVSERVERS
---------- ---------------- -------------- --------------- ---------- ---------- ---------------- ----------
454 RECOVERING 26922 464160 103 3744 01C600210027E0D9 128
468 RECOVERED 430 430 17 01D40000001F3A36 128

SQL> SHOW parameter ROLLBACK

文档

调整Oracle回滚的速度

调整Oracle回滚的速度:回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整 关于fast_start_parallel_rollback参数,此参数 回滚的速度快慢通过参数fast_start_parallel_rollback来实现,此参数可以动态调整 关于fast_start_
推荐度:
标签: 调整 数据库 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top