[发明专利]一种在线修改数据库表空间数据块长度的方法及系统在审
申请号: | 202210046141.1 | 申请日: | 2022-01-14 |
公开(公告)号: | CN114443654A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 马国良;陈彬;张洪宾 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 黄晓燕 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 在线 修改 数据库 空间 数据 长度 方法 系统 | ||
本发明提供了一种在线修改数据库表空间数据块长度的方法及系统,方法包括根据原表空间中对象大小的总和创建临时表空间,所述临时表空间中数据块的长度与原表空间中数据块长度不同;获取原表空间的对象数据块,进行对象数据块的移动,若临时表空间数据块变大,则将原表空间的对象数据块合并,写入临时表空间数据块中;若临时表空间数据块变小,则将原表空间的对象数据块拆分,分别写入临时表空间数据块中;至原表空间的对象处理完毕,删除原表空间,将临时表空间的名称修改为原表空间名称。本发明为数据库通过变更数据块大小调整数据库性能提供了一种新的选择,便于数据库优化。
技术领域
本发明涉及数据库技术领域,尤其是一种在线修改数据库表空间数据块长度的方法及系统。
背景技术
数据块长度DB_BLOCK_SIZE作为数据库的最小操作单位,DB_BLOCK_SIZE一般设置为操作系统块的倍数,即2K,4K,8K,16K或32K,但它的大小一般受数据库用途的影响。对于联机事务,其特点是事务量大,但每个事务处理的数据量小,所以DB_BLOCK_SIZE设置小点就足够了,一般为4K或者8K,设置太大话一次读出的数据有部分是没用的,并且会拖慢数据库的读写时间,同时增加非必要的I/O操作。而对于数据仓库和ERP方面的应用,每个事务处理的数据量很大,所以DB_BLOCK_SIZE一般设置得比较大,一般为8K,16K或者32K,此时如果DB_BLOCK_SIZE小的话,那么I/O次数自然就会增多,消耗也会增大。
大一点的DB_BLOCK_SIZE对索引的性能有一定的提高,因为DB_BLOCK_SIZE比较大的话,一个DB_BLOCK一次能够读取索引的行数就比较多。对于行比较大的记录,如果一个DB_BLOCK放不下一行,数据库在读取数据的时候就需要进行行链接,行链接影响读取性能。此时DB_BLOCK_SIZE大一点的话就可以避免这种情况的发生。
一个数据库由于用途不同可能需要使用不同大小的数据块,但在创建数据库或表空间时可能未考虑数据块大小对性能的影响,可能只有当性能受到数据块大小影响时才意识到需要调整数据块大小来改善性能,但对一个已经上线的生产数据库调整数据块大小却非常麻烦。一个表空间创建后,它的块大小就不再改变了,如果要调整其中对象(表、索引等)使用的块大小,需要新建一个使用特定数据块大小的表空间,然后将表空间中的对象通过MOVE命令移动到新的表空间。或者,将表空间中数据导出来,然后将表空间删除重建表空间,再将数据导回到表空间。以上这两种方式在操作过程中都会造成表空间下对象无法访问,影响数据库正常使用的问题。
发明内容
本发明提供了一种在线修改数据库表空间数据块长度的方法及系统,用于解决现有数据块长度调整方式影响数据库正常使用的问题。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种在线修改数据库表空间数据块长度的方法,所述方法包括以下步骤:
根据原表空间中对象大小的总和创建临时表空间,所述临时表空间中数据块的长度与原表空间中数据块长度不同;
获取原表空间的对象数据块,进行对象数据块的移动,若临时表空间数据块变大,则将原表空间的对象数据块合并,写入临时表空间数据块中;若临时表空间数据块变小,则将原表空间的对象数据块拆分,分别写入临时表空间数据块中;且设置移动过程中对表空间数据块的读写策略;
重复上一步的操作,至原表空间的对象处理完毕,删除原表空间,将临时表空间的名称修改为原表空间名称。
进一步地,所述方法还包括以下步骤:
为表空间数据块长度的修改增加处理进程,并增加进程参数,所述进程参数用于指定同时处理对象数据块修改的进程数量。
进一步地,所述读写策略中数据库对当前对象进行读操作的具体处理过程为:
若读取的数据块还在原表空间,则依据原数据块大小进行读取;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210046141.1/2.html,转载请声明来源钻瓜专利网。