概述:
本文主要记录达梦数据库回滚表空间undo页的回收测试,测试正常回收已提交事务的UNDO页与强制回收已提交事务的UNDO页。
回滚表空间:
达梦数据库在初始化之后,会创建一个ROLL表空间,该表空间为回滚表空间,用于存放修改数据的旧数据,以支持事务的回滚,MVCC的实现。
UNDO页的回收:
事务在提交之后,回滚表空间里面的undo页就可能被回收,达梦数据库提供了自动清理、回收回滚段空间的机制,purge线程系统定时(缺省是每间隔 1 秒)扫描,根据回滚记录的TID,判断是否需要保留回滚记录,清除那些已提交并且超过UNDO_RETENTION保留期限的undo页,此外,如果已提交没有清理的undo页占回滚表空间的大小超过UNDO_SPACE参数设置的值,即使已提交事务的还没超过保留期限 ,系统也会按提交时间先后,强制启动清理,直到回滚表空间的使用量小于设定值。
正常回收已提交事务的UNDO页:
undo_retention:用于设置事务提交之后undo页的保留时间,默认为90秒,数据库purge线程会将事务已经提交并且超过保留时间的undo页进行回收。
接下来测试一下undo_retention参数设置的保留时间对undo 页回收的影响。
设置较长的undo保留时间6000秒。
SP_SET_PARA_DOUBLE_VALUE(1,'UNDO_RETENTION',6000

最低0.47元/天 解锁文章
5935

被折叠的 条评论
为什么被折叠?



