达梦8回滚段设置不合理导致性能问题

对ORACLE熟悉的小伙伴们大概都经历过oracle数据库报ORA-01555快照过久的错误,除了要优化SQL,尽量降低SQL语句对UNDO回滚段的占用时长外,我们还会调整ORACLE的初始化参数UNDO_RETENTION,尽量延长UNDO回滚中保存的信息不被覆盖。同时适当的增加undo表空间尺寸。是其有足够的空间来存储DML语句修改的前映像。

那么这一问题如果在达梦数据库中,该如何调整呢,下面就以达梦数据库的一个案例,来讲述如何调整这两个参数来优化数据库。

XX运营商发现一个问题(110583 resid_slot_wait超时bug)。

上海按照现场ini配置进行分析以后,基本定位原因是由于回滚页申请、释放触发大量的文件系统层面冲突(描述页、fil_ts_enter等),造成系统响应慢导致的。

并不是形成全局线程死锁导致的。

UNDO_RETENTION和UNDO_EXTENT_NUM参数需要匹配,如果UNDO_RETENTION确实需要设置比较大的话,则UNDO_EXTENT_NUM需要相应地调大。

否则,会不断从文件系统申请回滚页,然后回滚页回收机制又不断地释放回滚页到文件系统,形成文件系统层面的冲突。文件系统层面的冲突代价很高。

一个是避免触发resid_slot_wait超时halt的风险,再一个是消除全局冲突提升性能。

大家请关注这个情况,这两个参数的配置策略比较容易被忽略。

可以查询v$pseg_items,监控n_extent字段,如果持续上涨的话,说明UNDO_EXTENT_NUM值配置小了.

以下两个参数的解释:

UNDO_RETENTION:事务提交后回滚页保持时间,单位为秒。有效 值范围(0~ 86400) 注:类型为 DOUBLE,可支持毫秒。

UNDO_EXTENT_NUM:表示系统启动时,为每个工作线程分配的回滚 簇个数。有效值范围(1~ 256)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值