注册
达梦数据库回滚表空间的占用和释放原理
培训园地/ 文章详情 /

达梦数据库回滚表空间的占用和释放原理

jsfw_zf 2023/09/20 1597 0 0

一、回滚表空间原理
回滚表空间的管理和用户表空间的管理基本是一样的,区别是回滚空间的空间名固定为ROLL,不可修改。
ROLL表空间完全由DM数据库自动维护,用户无需干预。该表空间用来存放事务运行过程中执行DML操作之前的值,从而为访问该表的其他用户提供表数据的读一致性视图。
ROLL表空间的dbf文件,称为ROLL文件。ROLL文件用于保存系统的回滚记录,提供事务回滚时的信息。回滚文件可被分为若干回滚段,每个事务的回滚页在回滚段中各自挂链,页内则顺序存放回滚记录。
二、实际测试验证
1、记录执行插入操作之前的磁盘空间量:
图片.png
2、执行插入操作:
图片.png
3、在不执行提交操作时,回滚段中不存在需要操作的信息,并且roll表空间内的存储也扩充后无法释放。
1)回滚段信息:
图片.png
2)回滚表空间信息:
图片.png
4、执行提交操作时,回滚段中存在需要操作的信息,并且roll表空间内的存储也扩充后得到释放。
1)回滚段信息:
图片.png
2)回滚表空间信息:
图片.png
三、总结
存在长时间批量的DML操作时,如果提交不及时,会出现roll表空间无法释放,持续增大的问题。同时,如果出现回滚段内容堆积的话,也会持续撑大roll表空间。故在遇到roll表空间持续增大的问题,应从业务层面排查提交频率,或者从数据库层面检查回滚段是否存在堆积。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服