[发明专利]一种数据库资源回收方法及系统有效
申请号: | 201310585657.4 | 申请日: | 2013-11-19 |
公开(公告)号: | CN103593449B | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 文继军;徐文韬;聂愿愿 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫,熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 资源 回收 方法 系统 | ||
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库资源回收方法及系统。
背景技术
事务的DML(Data Manipulation Language,数据操纵语言命令)操作使用户能够查询数据库以及操作已有数据库中的数据,而DML操作会产生回滚记录,用于追踪数据的变化,回滚段用于存储回滚记录,回滚段机制指的是将例如数据的旧版本,或者可用于回退数据的信息的回滚记录存储在回滚段中,当事务需要读取数据的旧版本时,从回滚段读取回滚记录,从而获得事务的旧版本。
现有的Oracle数据库的回滚段由多个extent区组成,每个extent由可配置的固定数量的页面组成,每个页面只能存储一个事务的回滚记录,每个extent可以存储多个事务的回滚记录,每个回滚段可以存储至少一个事务的回滚记录,同一个事务的回滚记录可以存储于多个extent中,但只能存储于同一个回滚段中。回滚段的回收按照extent回收,如果extent内所有页面所属的事务都已经结束,那么该extent就可以回收,因此一次回滚段回收可能导致多个事务的回滚信息不全,导致高隔离级别的长事务因读不到需要的数据的旧版本而回滚,回滚即泛指程序更新失败,返回上一次正确状态的行为。
发明内容
本发明所要解决的技术问题在于,提供一种数据库资源回收方法及系统,可回收指定的提交事务对应的事务回滚段,并降低高隔离级别长事务的回滚率。
为了解决上述技术问题,本发明第一方面提供了一种数据库资源回收方法,所述方法包括:
获取提交事务的事务属性信息;
根据所述获取到的提交事务的事务属性信息,确定目标提交事务;
回收所述目标提交事务对应的事务回滚段。
在第一种可能的实现方式中,所述获取提交事务的事务属性信息包括;
在关联关系表中分别获取各个提交事务与所有正在运行的事务的关联数量,所述关联关系表包括所有事务之间的关联关系,所述事务包括正在运行的事务和提交事务;
所述根据所述获取到的提交事务的事务属性信息,确定目标提交事务包括;
根据所述获取到的各个提交事务与所有正在运行的事务的关联数量,确定所述目标提交事务。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取提交事务的事务属性信息还包括;
获取所述提交事务对应的更新元组的数量;
所述根据所述获取到的提交事务的事务属性信息,确定目标提交事务还包括;
根据所述获取到的提交事务对应的更新元组的数量,确定所述目标提交事务。
结合第一方面、第一方面的第一种或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述获取提交事务的事务属性信息还包括;
获取所述提交事务对应的提交顺序标识及其对应的回滚段占用空间;
所述根据所述获取到的提交事务的事务属性信息,确定目标提交事务还包括;
根据所述获取到的提交事务对应的提交顺序标识及其对应的回滚段占用空间,确定所述目标提交事务。
结合第一方面可能的实现方式,在第四种可能的实现方式中,回收所述目标提交事务当前对应的操作信息。
结合第一方面或第一方面的第一种至第四种中的任一种可能的实现方式,在第五种可能的实现方式中,在满足预设元组转换条件时,将正在运行的事务对应的未写入事务表和关联关系表的操作信息中的元组信息转换为所述元组信息所属的页面信息,并删除所述元组信息。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,在满足预设页面转换条件时,将所述经过转换的页面信息转换为所述页面信息所属的表信息,并删除所述页面信息。
本发明第二方面提供了一种数据库资源回收系统,所述系统包括:
事务信息获取单元,用于获取提交事务的事务属性信息;
事务确定单元,用于根据所述事务信息获取单元获取到的提交事务的事务属性信息,确定目标提交事务;
回收单元,用于回收所述事务确定单元确定的目标提交事务对应的事务回滚段。
在第一种可能的实现方式中,所述事务信息获取单元包括关联数量获取模块,所述关联数量获取模块用于在关联关系表中分别获取各个提交事务与所有正在运行的事务的关联数量,所述关联关系表包括所有事务之间的关联关系,所述事务包括正在运行的事务和提交事务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310585657.4/2.html,转载请声明来源钻瓜专利网。