【达梦数据库】undo_retention 测试

最近遇见如下问题
【问题背景】备库抽数报错回滚记录版本太旧,涉及表为日志表(含有两个text列),主库undo_retention=90 备库undo_retention=3600,主库每分钟有这个表的写入(insert update),备机会话执行20min后触发回滚记录版本太旧
【问题描述】备机undo_retention=3600 下应该在1h后才报错,实际情况下备机会话执行20min后触发回滚记录版本太旧

经测试后,达梦主备环境中的备机不维护回滚记录,回滚记录由主机维护并同步到备机,因此主备集群中某个节点报错回滚记录版本太旧,undo_retention只能在主库进行修改

回滚相关视图在主备环境的查询结果对对比

其中备机的回滚表空间的大小于主机的大小保持一致

视图名说明主库备库
v$pseg_items显示回滚系统中当前回滚项信息(回滚线程的工作信息)总行数=WORKER_THREADS+1查询 no rows
v$pseg_sys显示当前回滚段信息(概览)总行数为1总行数为1 只有extent_size tab_hash_size obj_hash_size 非0
v$pseg_commit_trx显示回滚项中已提交但未 PURGE 的事务信息(需要PSEG 的事务信息)需要排除fpa_file_id = -1 and fpa_page_no = -1 的情况,屏蔽没有修改数据的事务,update 大字段列 fpa_file_id = -1 and fpa_page_no = -1查询 no rows
V$PSEG_PAGE_INFO
V$PURGE显示当前 PURGE 回滚段信息(待PURGE 的事务总个数)V P U R G E . o b j n u m = v PURGE.obj_num= v PURGE.objnum=vpseg_sys.obj_countobj_num= 0
V$PURGE_PSEG_OBJ显示 PURGE 系统中,待 PURGE 的所有 PSEG 对象信息(待PURGE 的事务号)总行数= V P U R G E . o b j n u m = v PURGE.obj_num= v PURGE.objnum=vpseg_sys.obj_count查询 no rows
V$PURGE_PSEG_TAB显示待 PURGE 表信息(待PURGE 的事务和表的关联信息)查询 no rows
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

气可鼓不可泄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值