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