CN113190379A - 一种数据库备份减少备份集的方法、系统及介质 - Google Patents

一种数据库备份减少备份集的方法、系统及介质 Download PDF

Info

Publication number
CN113190379A
CN113190379A CN202110390323.6A CN202110390323A CN113190379A CN 113190379 A CN113190379 A CN 113190379A CN 202110390323 A CN202110390323 A CN 202110390323A CN 113190379 A CN113190379 A CN 113190379A
Authority
CN
China
Prior art keywords
backup
state
database
module
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110390323.6A
Other languages
English (en)
Other versions
CN113190379B (zh
Inventor
吴标强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110390323.6A priority Critical patent/CN113190379B/zh
Publication of CN113190379A publication Critical patent/CN113190379A/zh
Application granted granted Critical
Publication of CN113190379B publication Critical patent/CN113190379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库备份减少备份集的方法,应用于数据库,包括以下步骤:备份数据表:设置数据库中表的状态,表的状态包括备份状态和非备份状态,并根据表的状态备份表;执行基础备份:获取数据库中第一表以及第一表的元数据信息;根据元数据信息判断所述第一表的状态,根据判断结果对所述第一表进行基础备份生成基础备份集;调整故障恢复:当所述数据库故障或者数据丢失时,通过所述基础备份集、备份状态的所述表以及所述数据库的归档日志进行恢复所述数据库的数据;通过上述方式,本发明能够在进行备份时,不备份备份状态的表,减少备份集的大小,提升备份的性能,可以根据实际情况调更灵活地整备份策略。

Description

一种数据库备份减少备份集的方法、系统及介质
技术领域
本发明涉及数据库备份技术领域,特别是涉及一种数据库备份减少备份集的方法、系统及介质。
背景技术
PostgreSQL数据库是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS)。
数据库中一般都设有备份恢复策略,在数据库出现故障的时候,对于保障数据安全起到至关重要的作用,数据库作为信息系统的核心担当着重要的角色,如果发生意外停机或数据丢失其损失会十分惨重,数据对于数据库来说是最重要的,所以PostgreSQL数据库应当被定期地备份,目前有三种不同的基本方法来备份PostgreSQL数据,分别为SQL转储、文件系统级备份和连续归档。
DBA根据业务数据的类型以及大小定制备份策略,大部分时候采用连续归档这种方式定制备份策略;首先进行一次基础备份,当数据库故障的时候,通过基础备份和归档日志进行恢复,保证数据不丢,但在生产系统使用中,如果只做一次基础备份,随着数据量的增加,归档日志越来越多,当数据库出现故障的时候,要基于基础备份对归档日志进行重放,这就导致恢复需要很长时间,在实际的生产系统中是不可接受的,所以一般建议7天做一次基础备份,来保证数据的安全以及系统恢复的时间。
在生产系统中,大部分的历史表信息以及大数据量的事实表的信息,都是固定不变的,不会修改,但是每次备份的时候都需要备份这些数据,每7天做一次基础备份,每次都要备份这些不会修改的,并且数据量大的数据,导致备份很慢,影响生产性能。
发明内容
本发明主要解决是生产系统使用中,历史信息和事实表进行备份时备份集大,备份时间长,数据库空闲时间备份不完,会影响数据库性能的问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种数据库备份减少备份集的方法,应用于数据库,包括以下步骤:
备份数据表:设置数据库中表的状态,所述表的状态包括备份状态和非备份状态,并根据所述表的状态备份所述表;
执行基础备份:获取所述数据库中第一表以及所述第一表的元数据信息;根据所述元数据信息判断所述第一表的状态,根据判断结果对所述第一表进行基础备份并保存至基础备份集;
调整故障恢复:当所述数据库故障或者数据丢失时,通过所述基础备份集、备份状态的所述表以及所述数据库的归档日志恢复所述数据库的数据。
优选的,所述设置数据库中表的状态的步骤进一步包括:使用所述数据库的内核进行扩展所述数据库的修改表语句,在所述修改表语句中增加备份状态和非备份状态;
修改后的所述修改表语句分别为备份状态语句和非备份状态语句;
所述备份状态为执行备份操作,所述非备份状态为不执行所述备份操作。
优选的,所述设置数据库中表的状态的步骤进一步还包括:
执行所述备份状态的语句;
获取所述数据库中第一事务,过滤所述第一事务中执行所述备份状态语句的事务,将过滤后的事务记为第二事务;
判断所述第二事务中的事务是否全部处理完毕,若未全部处理完毕,则等待第一时间,再次进行判断所述第二事务中的事务是否全部处理完毕;
若全部处理完毕,则设置所述表的状态为备份状态。
优选的,当所述表为所述备份状态时,所述表不允许修改,当修改所述表时,提示并报错;
若修改所述备份状态的所述表,则通过所述非备份状态语句取消所述备份状态,若取消成功,则进行提示。
优选的,所述根据所述表的状态备份所述表的步骤进一步包括:
当所述表的状态为所述备份状态时,执行备份操作;所述备份操作为:对所述表进行备份并生成所述备份状态的所述表的备份集。
优选的,所述根据判断结果对所述第一表进行基础备份的步骤进一步包括:当所述第一表的状态为所述非备份状态时,对所述非备份状态的所述表执行基础备份操作,并保存至所述基础备份集。
优选的,所述通过所述基础备份集、备份状态的所述表以及所述数据库的归档日志进行恢复所述数据库的数据的步骤进一步包括:
获取所述数据库中所述基础备份集;
获取所述数据库中所述备份状态的所述表,并将所述备份状态的所述表放入对应的所述数据库的目录下;
获取与所述基础备份集对应的所述数据库中的归档日志文件;
启动所述数据库,进入恢复状态,读取所述归档日志中记录,执行数据重放操作,执行所述数据重放操作后退出所述恢复状态。
本发明还提供一种数据库备份减少备份集的系统,包括:设置模块、获取模块、备份模块、判断模块和故障恢复模块;
所述设置模块用于设置数据库中表的状态为备份状态或者非备份状态;
所述获取模块用于获取所述数据库中第一表以及所述第一表的元数据信息;
所述备份模块用于根据所述表的状态备份所述表,以及对所述数据库中第一表进行基础备份并生成基础备份集;
所述判断模块用于根据所述元数据信息判断所述第一表的状态;
所述故障恢复模块用于通过所述基础备份集、所述备份状态的所述表和所述数据库中的归档日志进行恢复所述数据库中的数据。
作为本发明一种数据库备份减少备份集的系统进一步改进,所述获取模块还用于获取所述数据库中的第一事务;
所述设置模块包括执行模块和处理模块;
所述执行模块用于执行备份状态的语句;
所述处理模块用于过滤所述第一事务中执行所述备份状态语句的事务,将过滤后的事务记为第二事务,以及设置所述表的状态为备份状态;
所述判断模块还用于判断所述第二事务中的事务是否全部处理完毕;
所述备份集模块用于当所述表的状态为所述备份状态时,对所述表进行备份并生成所述备份状态的所述表的备份集。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的一种数据库备份减少备份集的方法的步骤。
本发明的有益效果是:
1、本发明所述的一种数据库备份减少备份集的方法,可以实现针对数据量特大并不进行更新的表,设置为MANUAL BACK-UP状态,在进行基础备份的时候,不备份MANUALBACK-UP状态的表,减少备份集的大小,提升备份的性能,并可以根据实际情况调更灵活地整备份策略;
2、本发明所述的一种数据库备份减少备份集的系统,通过设置模块设置数据库中表的状态,通过不同状态进行备份数据库中的表,每次进行基础备份时减少备份集的大小,并且减少了基础的备份数量以及较少了备份的时间;
3、本发明所述的一种计算机可读存储介质,可以实现设置表的MANUAL BACK-UP状态,并且设置了MANUAL BACK-UP状态后不允许再进行修改,保证了备份MANUAL BACK-UP表的一致性,并且因为设置的MANUAL BACK-UP表为不会进行改变的表,减少了备份的数据量,提升数据的性能以及增加数据备份时的效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1所述的一种数据库备份减少备份集的方法示意图;
图2是本发明实施例1所述的一种数据库备份减少备份集的方法中设置状态以及备份流程示意图;
图3是本发明实施例1所述的一种数据库备份减少备份集的方法中PostgreSQL内核模块的示意图;
图4是本发明实施例1所述的一种数据库备份减少备份集的方法中基础备份流程示意图;
图5是本发明实施例1所述的一种数据库备份减少备份集的方法中数据库故障恢复流程示意图;
图6是本发明实施例2所述的一种数据库备份减少备份集的系统架构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“备份状态”、“非备份状态”、“第一表”、“基础备份”、“基础备份集”、“修改表语句”、“备份状态语句”、“非备份状态语句”、“备份操作”、“第一事务”、“第二事务”、“第一时间”、“基础备份操作”应做广义理解,对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
需要说明的是,在本发明的描述中
备份恢复策略为:数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,保证数据的高可用性。并且数据库的备份是一个长期的过程,而数据库的数据恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况,此外,数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果。
目前数据库备份一般分为以下两种:
1、逻辑备份:利用SQL从数据库中提取数据,并将其存入二进制文件中,这些数据可以重新导入原来的数据库,或者以后导入其他数据库,逻辑备份主要用于在实例之间移动指定的数据或在不同的系统结构、操作系统版本或数据库之前,通过执行相关的命令完成。
2、物理备份:是实际物理数据库文件从一处拷贝到另一处(通常从磁盘到磁带)的备份,根据数据库是否提供服务来分,包括冷备份和热备份。
冷备份又称为脱机备份或映象备份,或者是文件级备份,是在数据库保持关闭状态下,把数据库的配置文件、数据文件、控制文件、重做日志文件和归档日志文件复制到其他地方保存起来。
热备份,当数据库正在运行时进行的数据库备份过程,当数据库处在可归档日志模式下,可使用热备份。有些关键数据库应用系统可能需要数据库每天24小时,每周7天的运行,就应该使用热备份。
SQL转储:SQL转储实际上是逻辑备份的实现,SQL转储方法的思想是创建一个由SQL命令组成的文件,当把这个文件回馈给服务器时,服务器将利用其中的SQL命令重建与转储时状态一样的数据库。PostgreSQL提供pg_dump、pg_dumpall等工具实现SQL转储功能。
文件系统级备份:文件系统级备份,实际上就是物理备份中的冷备份,要求将数据库服务关闭,然后通过操作系统的命令进行整个数据目录的备份,注意一个文件系统备份通常会比一个SQL转储体积更大,这种在生产环境中很少使用,在生产环境中备份停止数据库是不能容忍的。
连续归档:在任何时间,PostgreSQL在数据集簇目录的pg_wal/子目录下都保持有一个预写式日志(WAL),这个日志存在的目的是为了保证崩溃后的安全:如果系统崩溃,可以“重放”从最后一次检查点以来的日志项来恢复数据库的一致性,该方法是通过定期做数据库的基础备份并打开归档日志,在数据库出现故障的时候,通过最近的基础备份和归档日志进行数据重放,恢复到数据库故障之前的状态,保证数据不丢失。基础备份通过命令pg_basebackup来实现。
需要说明的是,在本发明的描述中
PostgreSQL数据库是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS);PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。
数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
psql命令是与PostgreSQL服务器交互的客户端程序,要登录到数据库服务器,需要使用psql客户端工具或者第三方客户端工具如PostgreSQL for Navicat,pgAdmin,Visualizer等等。psql作为DBA通常使用的与PostgreSQL数据库交互的客户端终端程序,可以帮助DBA快速的操作和维护数据库。
事实表中的数据包括传感器的数据、GPS数据、国家电网用电历史数据等。
MANUAL BACK-UP状态为人工备份状态;ALTER TABLE语句为修改表的语句。
第一表为数据库中全部的表;备份状态为MANUAL BACK-UP状态;非备份状态为NOBACK-UP;MANUAL BACK-UP操作为备份操作;NO BACK-UP为不执行备份操作;
备份状态的语句为ALTER TABLE xxx MANUAL BACK-UP;
非备份状态的语句为ALTER TABLE xxx NO BACK-UP。
实施例1
本发明实施例提供一种数据库备份减少备份集的方法,请参阅图1,包括以下步骤:
S100,设置PostgreSQL数据库中表的状态为MANUAL BACK-UP状态或者NO BACK-UP并备份MANUAL BACK-UP状态表的相关文件;
具体步骤如下:
请参阅图2,S101,使用PostgreSQL内核进行扩展PostgreSQL数据库中SQL ALTERTABLE语句,在此语句中增加MANUAL/NO BACK-UP;
增加后的语句分别为ALTER TABLE xxx MANUAL BACK-UP语句和ALTER TABLE XXXNO BACK-UP;
ALTER TABLE xxx MANUAL BACK-UP语句执行MANUAL BACK-UP操作;ALTER TABLExxx NO BACK-UP语句执行NO BACK-UP操作,并且将其默认操作设置为NO BACK-UP
请参阅图3,其中,PostgreSQL内核中包括如下几个模块:分析模块、系统表扩展结构模块、事务模块、存储模块、消息模块、执行模块和编译模块;
分析模块主要用来进行语言转换;编译模块用来编译语法或者词法;
S102,客户端连接到PostgreSQL数据库,通过psql登录PostgreSQL数据库,并且执行ALTER TABLE xxx MANUAL BACK-UP语句;具体步骤为:通过PostgreSQL内核中的几个模块进行词法、语法查询优化等进行执行ALTER TABLE xxx MANUAL BACK-UP语句;
需要说明的是,ALTER TABLE xxx MANUAL BACK-UP语句中的xxx为PostgreSQL数据库中的需要进行设置为MANUAL BACK-UP状态的表名,xxx可以包含多个表名。
S103,获取当前PostgreSQL数据库中所有正在运行以及正在处理的事务,记为第一事务;需要说明的是,事务包括PostgreSQL数据库中正在处理的或正在运行的命令或者语句或者程序;
过滤第一事务中执行ALTER TABLE xxx MANUAL BACK-UP语句,将过滤后的第一事务记为第二事务;
S104,判断第二事务中的事务是否全部处理完毕,若未全部处理完毕,则等待第一时间,再次执行S104,直至第二事务中的事务全部处理完毕;
若第二事务中的事务全部处理完毕,则进行设置表为MANUAL BACK-UP状态;表包括继承表和分区表;具体为大部分的历史表信息以及大数据量的事实表;
需要说明的是,在本发明的描述中MANUAL BACK-UP状态的表为数据量大以及不进行更新的表,但是MANUAL BACK-UP状态的表可以为任何表,只要设置成MANUAL BACK-UP状态的表就不允许进行修改。
需要说明的是,这里面的第一时间为人为设定的时间值,可以为任何时间,例如1分钟、10分钟等;根据不同的情况可进行更改,从而在第一时间后再次判断第二事务中的事务是否全部处理完毕;
S105,进行MANUAL BACK-UP操作,操作系统的用户对MANUAL BACK-UP状态的表进行相关文件的备份,生成MANUAL BACK-UP状态的表的备份集;
当设置表的状态为MANUAL BACK-UP状态后,该表将不允许进行修改操作,如果有新的操作语句的事务对该表执行修改或者更新或者删除操作时,则会进行提示并报错,并且报错的信息显示为“The table dbid/tid is MANUAL BACK-UP state,can’t modifydata…”;
如果想进行修改该表操作,则通过ALTER TABLE XXX NO BACK-UP;语句取消该表的MANUAL BACK-UP状态,取消成功后将会进行提示,提示的消息为“ALTER TABLE success,the table XXX back-up files is invalid,please do pg_basebackup”;
设置表的MANUAL BACK-UP状态是为了在设置状态后,对该表进行备份后,该表的状态不会再发生改变,并且设置MANUAL BACK-UP状态的表不允许进行修改,保证了该表中的数据一直为相同的数据;当表中的数据需要修改时,再次改变该表的状态,修改完成后,如果继续要备份该表的话必须将该表的状态修改为MANUAL BACK-UP状态才会进行备份,保证了备份的数据是不会改变的数据。
S200,定期进行基础备份,目的是为了防止数据丢失,保证数据的安全,定期进行基础备份的时间一般为一周一次,但是DBA也可根据业务的情况进行调整进行基础备份的时间,在进行基础备份时,跳过为MANUAL BACK-UP状态的表以及与其相关的文件,这样可以减少备份集的大小,提高性能;
具体步骤如下:
请参阅图4,S201,发出开始备份命令pg_start_backup;
S202,获取PostgreSQL数据库中所有表,并获取所有表中的元数据信息,根据元数据信息并判断并区分PostgreSQL数据库中所有表的状态是否为MANUAL BACK-UP状态;
S203,将不为MANUAL BACK-UP状态的表,也就是NO BACK-UP状态的表进行基础备份操作,并放入备份集中,并且这个备份集为基础备份集;
S204,进行备份操作后,执行停止备份命令pg_stop_backup;
区别于现有技术,通过此种方式能够减少备份集的大小,提升备份性能,尤其在污水管理、桥梁检测、服务器的温度检测等系统中,其系统中的数据都是通过传感器进行测试并存储到事实表中的,占了整个系统中大量的存储空间,大大减少了基础备份的数据量并且提升了备份的性能;
S300,进行调整PostgreSQL数据库的故障恢复策略;
当PostgreSQL数据库故障或者数据丢失时,通过基础备份集、MANUAL BACK-UP状态的表以及Postgre数据库的归档日志进行恢复,具体步骤如下:
请参阅图5,S301,获取PostgreSQL数据库中的基础备份集;
S302,获取PostgreSQL数据库中MANUAL BACK-UP状态的表以及与其对应的文件,并将MANUAL BACK-UP状态的表以及与其相对应的文件放入对应的PostgreSQL数据库的目录下;
S303,获取PostgreSQL数据库中与基础备份集相关的归档日志文件;
S304,启动PostgreSQL数据库,进入恢复状态,从归档日志文件中读取记录并进行数据重放操作,将PostgreSQL数据库恢复故障或者数据丢失前的状态,然后退出恢复状态重新启动数据库。
实施例2
本发明实施例还提供一种数据库备份减少备份集的系统,请参阅图6,包括:设置模块、获取模块、备份模块、判断模块和故障恢复模块;
设置模块用于设置PostgreSQL数据库中表的状态为MANUAL BACK-UP或者NOBACK-UP;
获取模块用于获取PostgreSQL数据库中全部表以及全部表的元数据信息;
备份模块用于根据表的状态备份所述表以及对数据库中的全部表进行基础备份生成基础备份集;
判断模块用于根据所述元数据信息判断所述全部表的状态;
故障恢复模块用于通过基础备份集、MANUAL BACK-UP状态的表和PostgreSQL数据库的归档日志进行恢复数据库中的数据。
获取模块还用于获取PostgreSQL数据库中的第一事务;
设置模块包括执行模块和处理模块;
执行模块用于执行MANUAL BACK-UP的语句;
处理模块用于将第一事务中执行MANUAL BACK-UP的事务进行去除,将去除后的事务记为第二事务,以及设置所述表的状态为MANUAL BACK-UP;
判断模块还用于判断第二事务中的事务是否全部处理完毕;
备份集模块用于当所述表的状态为MANUAL BACK-UP时,对所述表进行备份并生成MANUAL BACK-UP的所述表的备份集。
实施例3
本实施例3具有一种计算机可读存储介质,所述存储介质用于储存将上述实施例1所述数据库备份减少备份集的方法实现所用的计算机软件指令,其包含用于执行上述为数据库备份减少备份集的方法所设置的程序;具体地,该可执行程序可以内置在数据库备份减少备份集的系统中,这样,数据库备份减少备份集的系统就可以通过执行内置的可执行程序实现所述实施例1的数据库备份减少备份集的方法的步骤。
此外,本实施例具有的计算机可读存储介质可以采用一个或多个可读存储介质的任意组合,其中,可读存储介质包括电、光、电磁、红外线或半导体的系统、装置或器件,或者以上任意组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据库备份减少备份集的方法,应用于数据库,其特征在于,包括以下步骤:
备份数据表:设置数据库中表的状态,所述表的状态包括备份状态和非备份状态,并根据所述表的状态备份所述表;
执行基础备份:获取所述数据库中第一表以及所述第一表的元数据信息;根据所述元数据信息判断所述第一表的状态,根据判断结果对所述第一表进行基础备份并保存至基础备份集;
调整故障恢复:当所述数据库故障或者数据丢失时,通过所述基础备份集、备份状态的所述表以及所述数据库的归档日志恢复所述数据库的数据。
2.根据权利要求1所述的一种数据库备份减少备份集的方法,其特征在于:所述设置数据库中表的状态的步骤进一步包括:使用所述数据库的内核进行扩展所述数据库的修改表语句,在所述修改表语句中增加备份状态和非备份状态;
修改后的所述修改表语句分别为备份状态语句和非备份状态语句;
所述备份状态为执行备份操作,所述非备份状态为不执行所述备份操作。
3.根据权利要求2所述的一种数据库备份减少备份集的方法,其特征在于:所述设置数据库中表的状态的步骤进一步还包括:
在所述数据库中执行所述备份状态的语句;
获取所述数据库中第一事务,过滤所述第一事务中执行所述备份状态语句的事务,将过滤后的事务记为第二事务;
判断所述第二事务中的事务是否全部处理完毕,若未全部处理完毕,则等待第一时间,再次进行判断所述第二事务中的事务是否全部处理完毕;
若全部处理完毕,则设置所述表的状态为备份状态。
4.根据权利要求1或2所述的一种数据库备份减少备份集的方法,其特征在于:当所述表为所述备份状态时,所述表不允许修改,当修改所述表时,提示并报错;
若需要修改所述备份状态的所述表,则通过所述非备份状态语句取消所述备份状态,若取消成功,则进行提示。
5.根据权利要求2所述的一种数据库备份减少备份集的方法,其特征在于:所述根据所述表的状态备份所述表的步骤进一步包括:
当所述表的状态为所述备份状态时,执行备份操作;所述备份操作为:对所述表进行备份并生成所述备份状态的所述表的备份集。
6.根据权利要求1所述的一种数据库备份减少备份集的方法,其特征在于:所述根据判断结果对所述第一表进行基础备份的步骤进一步包括:当所述第一表的状态为所述非备份状态时,对所述非备份状态的所述表执行基础备份操作,并保存至所述基础备份集。
7.根据权利要求1所述的一种数据库备份减少备份集的方法,其特征在于:所述通过所述基础备份集、备份状态的所述表以及所述数据库的归档日志进行恢复所述数据库的数据的步骤进一步包括:
获取所述数据库中所述基础备份集;
获取所述数据库中所述备份状态的所述表,并将所述备份状态的所述表放入对应的所述数据库的目录下;
获取与所述基础备份集对应的所述数据库中的归档日志文件;
启动所述数据库,进入恢复状态,读取所述归档日志中记录,执行数据重放操作,执行所述数据重放操作后退出所述恢复状态。
8.一种数据库备份减少备份集的系统,其特征在于,包括:设置模块、获取模块、备份模块、判断模块和故障恢复模块;
所述设置模块用于设置数据库中表的状态为备份状态或者非备份状态;
所述获取模块用于获取所述数据库中第一表以及所述第一表的元数据信息;
所述备份模块用于根据所述表的状态备份所述表,以及对所述数据库中第一表进行基础备份并生成基础备份集;
所述判断模块用于根据所述元数据信息判断所述第一表的状态;
所述故障恢复模块用于通过所述基础备份集、所述备份状态的所述表和所述数据库中的归档日志进行恢复所述数据库中的数据。
9.根据权利要求8所述的一种数据库备份减少备份集的系统,其特征在于:所述获取模块还用于获取所述数据库中的第一事务;
所述设置模块包括执行模块和处理模块;
所述执行模块用于执行备份状态的语句;
所述处理模块用于过滤所述第一事务中执行所述备份状态语句的事务,将过滤后的事务记为第二事务,以及设置所述表的状态为备份状态;
所述判断模块还用于判断所述第二事务中的事务是否全部处理完毕;
所述备份集模块用于当所述表的状态为所述备份状态时,对所述表进行备份并生成所述备份状态的所述表的备份集。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1-7任一项所述的一种数据库备份减少备份集的方法的步骤。
CN202110390323.6A 2021-04-12 2021-04-12 一种数据库备份减少备份集的方法、系统及介质 Active CN113190379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110390323.6A CN113190379B (zh) 2021-04-12 2021-04-12 一种数据库备份减少备份集的方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110390323.6A CN113190379B (zh) 2021-04-12 2021-04-12 一种数据库备份减少备份集的方法、系统及介质

Publications (2)

Publication Number Publication Date
CN113190379A true CN113190379A (zh) 2021-07-30
CN113190379B CN113190379B (zh) 2022-09-20

Family

ID=76975528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110390323.6A Active CN113190379B (zh) 2021-04-12 2021-04-12 一种数据库备份减少备份集的方法、系统及介质

Country Status (1)

Country Link
CN (1) CN113190379B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677509A (zh) * 2015-12-25 2016-06-15 北京奇虎科技有限公司 数据库中数据的恢复方法及装置
CN108268341A (zh) * 2016-12-30 2018-07-10 大唐移动通信设备有限公司 一种数据迁移、备份及恢复方法及装置
CN109086170A (zh) * 2018-08-15 2018-12-25 郑州云海信息技术有限公司 一种数据库备份恢复方法与装置
CN109783574A (zh) * 2018-12-25 2019-05-21 沈阳通用软件有限公司 一种高效的数据库备份方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677509A (zh) * 2015-12-25 2016-06-15 北京奇虎科技有限公司 数据库中数据的恢复方法及装置
CN108268341A (zh) * 2016-12-30 2018-07-10 大唐移动通信设备有限公司 一种数据迁移、备份及恢复方法及装置
CN109086170A (zh) * 2018-08-15 2018-12-25 郑州云海信息技术有限公司 一种数据库备份恢复方法与装置
CN109783574A (zh) * 2018-12-25 2019-05-21 沈阳通用软件有限公司 一种高效的数据库备份方法

Also Published As

Publication number Publication date
CN113190379B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
EP1602042B1 (en) Database data recovery system and method
US7133884B1 (en) Unobtrusive point-in-time consistent copies
US7386752B1 (en) Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery
US7849111B2 (en) Online incremental database dump
CN105573859A (zh) 一种数据库的数据恢复方法和设备
EP3822793A1 (en) Data recovery method and device, server and computer readable storage medium
CN109902127B (zh) 历史态数据处理方法、装置、计算机设备及存储介质
CN105302667A (zh) 基于集群架构的高可靠性数据备份与恢复方法
CN104881418A (zh) 用于MySQL的快速回收回滚空间的方法和装置
EP3147789B1 (en) Method for re-establishing standby database, and apparatus thereof
CN113190379B (zh) 一种数据库备份减少备份集的方法、系统及介质
CN112463447B (zh) 一种基于分布式数据库实现物理备份的优化方法
CN115658391A (zh) 基于QianBase MPP数据库的WAL机制的备份恢复方法
WO2015084409A1 (en) Nosql database data validation
CN112685230B (zh) 一种分布式数据库实现指定时间点备份还原的方法
CN114443371A (zh) 一种基于国产分布式数据库的定时备份方法及系统
RU2526753C1 (ru) Способ восстановления данных в системе управления базами данных
CN115408200A (zh) 多存储引擎的数据备份方法、装置、电子设备及存储介质
CN110471796B (zh) 一种面向文件目录的完全和增量的备份恢复方法
CN111221801A (zh) 一种数据库迁移方法、系统及相关装置
CN112540875A (zh) 一种基于xtrabackup的mysql数据库备份、恢复校验可用性的方法
CN114020523A (zh) 一种恢复数据库集群数据的方法、装置
CN115576494B (zh) 数据存储方法和计算设备
CN117763046A (zh) 集群间数据同步的方法、装置、设备及存储介质
CN115576929A (zh) 数据库异常崩溃的快速恢复方法及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant