[发明专利]数据库的海量历史数据备份方法和恢复方法在审
申请号: | 202110805219.9 | 申请日: | 2021-07-16 |
公开(公告)号: | CN113641694A | 公开(公告)日: | 2021-11-12 |
发明(设计)人: | 张铁男;张迎;肖碧涛 | 申请(专利权)人: | 南京国电南自维美德自动化有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F11/14;G06F21/62;G06F21/64 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 朱远枫 |
地址: | 210032 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 海量 历史数据 备份 方法 恢复 | ||
本发明公开了数据库的海量历史数据备份方法和恢复方法,包括:扫描数据库,通过SQL查询语句获得所有数据表的结构、表宽度和表长度;根据所有数据表的结构、表宽度和表长度建立快照列表,快照列表的每一行对应一个数据包的备份任务,所述备份任务具备其对应的备份任务属性;根据备份任务属性确定需要备份的数据包;使用SQL查询语句查询数据库取得需要备份的数据包内容并进行备份。本发明采取多任务的方式完成,结构清晰,便于实现大容量的历史数据的备份。
技术领域
本发明涉及适用于数据库的海量历史数据备份方法,属于数据库技术领域。
背景技术
现有的SQL数据库而言,一般的数据库备份和恢复方法,主要有物理备份数据,逻辑备份数据和内联导出数据等几种方式。
第一,物理备份数据操作简单方便,就是直接拷贝数据库文件的方式。恢复数据时,直接将源数据库的数据库文件的备份粘贴到目标数据库的数据(DATA)目录下,启动目标数据库,可以完成数据的转移。
第二,逻辑备份数据是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现。例如,MySQL数据库自带的mysqldump工具,Oracle自带的EXP/EXPDP工具就是逻辑备份数据工具。恢复数据时,则将导出的数据中的对象/分区重新导入数据库即可。逻辑备份的数据格式是SQL语句。逻辑备份数据的对象可以是特定数据表,也可以是整个数据库。
第三,内联导出数据是通过内联(inline)方式将查询(select)出来的表数据直接输出到文件中,恢复数据时,也是采用内联的方式将导出文件内的数据导入特定的表中即可。内联导出的数据格式是文本或CVS格式。内联导出数据的对象仅仅是特定的数据表。
现有的SQL数据库备份方法,各有各的缺陷:
对于物理备份方式,只有在目标设备与源设备的系统环境、数据库Server版本及数据库Server参数基本一致的情况下,才可以成功恢复数据库。因此,这极大地限制了此种方法的应用场景。
对于逻辑备份数据和内联导出数据方式,在针对数据量不大,数据更新不频繁且数据安全性要求不高的情况下,都可以达到理想的数据备份的效果。然而,当数据量达到一定程度,尤其是历史数据表,其单个表的记录条数上千万条,或单个数据表的数据容量达到GB甚至TB规模的时候,效果都很不理想。
当需要备份的数据表容量很大的情况下,备份过程常常需要几十甚至几百个小时才能完成,而且由于物理机器的内存有限和数据缓存生命周期等限制,在逻辑备份及内联导出的过程中,会出现数据失效等错误,继而导致备份失败,几乎无法正常实现数据库备份、恢复、移库等目标。
当数据库数据插入和更新频繁的情况下,进行长时间的数据热备份会占用大量系统的计算和IO资源且无法控制,会导致数据库服务器性能下降,继而会引起一系列灾难性后果。
当数据安全性要求较高的情况下,逻辑备份及内联导出数据的文件格式都是明文,也会有数据安全性的隐患。
另一方面,当一个数据库备份任务长达几十小时到几百小时的时候,如果期间出现任务中断退出的情况,则该任务失败,必须重新开始,不可能继续完成中断的任务,使效率变低。
综上所述,现有的SQL数据库的海量历史数据的热备份方法还有待改进。
发明内容
首先本发明旨在针对现有的数据库备份方法主要针对数据量不大,数据更新不频繁且数据安全性要求不高的情况,提供数据库的海量历史数据备份方法。
为实现以上技术目的,本发明采用以下技术方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京国电南自维美德自动化有限公司,未经南京国电南自维美德自动化有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110805219.9/2.html,转载请声明来源钻瓜专利网。