[发明专利]数据库表空间的在线重组方法、装置、设备和介质在审
申请号: | 202310249231.5 | 申请日: | 2023-03-10 |
公开(公告)号: | CN116226201A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 孙迪;刘嘉健;梁昊然;何思阳 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22;G06F16/23 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 赵婷 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 空间 在线 重组 方法 装置 设备 介质 | ||
1.一种数据库表空间的在线重组方法,包括:
建立与目标原表结构一致的目标新表;
将所述目标原表中的存量活元组和增量数据复制到所述目标新表;
在所述目标原表和所述目标新表中的增量数据的同步延时满足预定条件后,触发用于更改所述目标原表和所述目标新表的表名的更名事务;
向所述更名事务分配与目标表名关联的排他咨询锁,其中,所述目标表名为所述目标原表更名前的表名;
在所述更名事务获取到所述排他咨询锁后,利用所述排他咨询锁锁定具有所述目标表名的数据表,并执行所述更名事务,包括:在所述目标原表被所述排他咨询锁锁定期间,先将所述目标原表中尚未复制到所述目标新表的增量数据同步到所述目标新表,然后修改所述目标原表的表名;接着将所述目标新表的表名修改为所述目标表名,其中,更名后的所述目标新表被所述排他咨询锁锁定;以及
在所述更名事务执行完成后,释放所述排他咨询锁。
2.根据权利要求1所述的方法,其中,在所述向所述更名事务分配与目标表名关联的排他咨询锁之前,所述方法还包括:
若存在基于所述目标表名进行数据表访问的且尚未执行的至少一个第一类事务时,每个所述第一类事务在获取到与所述目标表名关联的N个共享咨询锁其中之一后,执行所述第一类事务,其中N为大于或等于1的整数;所述第一类事务为包含DML操作的事务;以及
每个所述第一类事务执行完成后释放所述共享咨询锁。
3.根据权利要求2所述的方法,其中,所述向所述更名事务分配与目标表名关联的排他咨询锁包括:
获取对所述目标表名进行运算而得到信号量;
所述更名事务基于所述目标表名访问所述信号量;以及
基于所述更名事务对所述信号量的访问,向所述更名事务分配所述排他咨询锁。
4.根据权利要求3所述的方法,其中,在所述执行所述第一类事务之前,所述方法还包括:
所述第一类事务基于所述目标表名访问所述信号量;以及
基于所述第一类事务对所述信号量的访问,当所述N个共享咨询锁未被全部占用时,向所述第一类事务分配所述共享咨询锁。
5.根据权利要求2所述的方法,其中,所述获取对所述目标表名进行运算而得到信号量包括:
对所述目标表名进行哈希运算,得到所述信号量。
6.根据权利要求1~5任意一项所述的方法,其中,在所述建立与目标原表结构一致的目标新表之前,所述方法还包括获取所述目标原表,具体包括:
获取所述数据库中的表空间重组状态列表,所述表空间重组状态列表包括等待表空间重组的第一类数据表的信息;以及
以所述第一类数据表中的任意一个表作为所述目标原表,基于所述表空间重组状态列表中所述目标原表的信息,从所述数据库中获取所述目标原表。
7.根据权利要求6所述的方法,其中,在所述释放所述排他咨询锁之后,所述方法还包括:
从所述表空间重组状态列表中所述第一类数据表的信息中移除所述目标原表的信息,以更新所述表空间重组状态列表。
8.根据权利要求6所述的方法,其中,所述获取所述数据库中的表空间重组状态列表包括:
当检测到所述数据库的空闲空间比达到预设阈值,且满足清理条件时,下达表空间重组命令;以及
响应于所述表空间重组命令,获取初始的所述表空间重组状态列表;
其中,所述空闲空间比是基于所述数据库的剩余空间和总空间的比值确定的。
9.根据权利要求8所述的方法,其中,所述清理条件包括:
所述数据库的剩余空间大于预定容量阈值,其中,所述预定容量阈值至少大于所述数据库中最小的数据表的容量;或者/并且
接收到预设的运维终端发送的表空间重组指示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310249231.5/1.html,转载请声明来源钻瓜专利网。