本发明涉及数据库备份技术领域,特别是涉及一种数据库自动备份方法及装置。
背景技术:
随着企业信息化的不断提高,数据库运维人员的工作量也呈现直线增长的趋势。在企业信息化比较初级的阶段,数据库运维人员可能管理着一个或者几个数据库,但是随着企业信息系统的不断增加,数据库运维人员需要管理十几个甚至更多的数据库。数据库运维管理面临着系统环境复杂庞大、业务系统繁多、人为手工操作风险高、问题故障定位效率不高的挑战。
数据库运维人员除了定时进行日常的数据库备份工作外,还要进行数据库系统监控、安全审计、故障恢复、性能调优等工作内容,工作量大。现有数据库备份的方法,不仅增加了运维人员的工作量,而且增加了手工操作的风险,影响了工作效率。
技术实现要素:
本发明的目的是提供一种数据库自动备份方法及装置,以解决现有数据库由运维人员手动进行备份带来的工作量大、风险高以及工作效率低的问题。
为解决上述技术问题,本发明提供一种数据库自动备份方法,包括:
接收用户输入的对数据进行备份的备份指令;
根据所述备份指令判断待备份数据的备份类型,所述备份类型包括:离线全量备份、在线全量备份、在线增量备份、在线增量差异备份或在线表空间备份;
通过所述备份类型对所述待备份数据进行自动备份。
可选地,所述备份指令包括备份参数、备份模式、备份的表空间名称、备份路径、待备份的数据库名称信息或目录参数。
可选地,所述通过所述备份类型对所述待备份数据进行自动备份包括:
根据所述备份指令获取预设备份时间参数;
在预设备份时间点对所述待备份数据进行自动备份。
可选地,在所述接收用户输入的对数据进行备份的备份指令之前还包括:
接收用户对备份的日志文件目录、备份数据文件基本目录、增量备份数据文件目录进行设置的指令;并设置用户读写目录的权限。
可选地,在通过所述备份类型对所述待备份数据进行自动备份之后还包括:
根据备份过程生成备份日志。
本发明还提供了一种数据库自动备份装置,包括:
接收模块,用于接收用户输入的对数据进行备份的备份指令;
判断模块,用于根据所述备份指令判断待备份数据的备份类型,所述备份类型包括:离线全量备份、在线全量备份、在线增量备份、在线增量差异备份或在线表空间备份;
备份模块,用于通过所述备份类型对所述待备份数据进行自动备份。
可选地,所述备份指令包括备份参数、备份模式、备份的表空间名称、备份路径、待备份的数据库名称信息或目录参数。
可选地,所述备份模块具体为:根据所述备份指令获取预设备份时间参数;在预设备份时间点对所述待备份数据进行自动备份的模块。
可选地,还包括:
设置模块,用于在接收用户输入的对数据进行备份的备份指令之前,接收用户对备份的日志文件目录、备份数据文件基本目录、增量备份数据文件目录进行设置的指令;并设置用户读写目录的权限。
可选地,还包括:
备份日志生成模块,用于在通过所述备份类型对所述待备份数据进行自动备份之后,根据备份过程生成备份日志。
本发明所提供的数据库自动备份方法及装置,通过接收用户输入的对数据进行备份的备份指令;根据备份指令判断待备份数据的备份类型,备份类型包括:离线全量备份、在线全量备份、在线增量备份、在线增量差异备份或在线表空间备份;通过备份类型对待备份数据进行自动备份。本发明所提供的数据库自动备份方法及装置,能够针对DB2数据库实现自动备份,减少了数据库运维人员的人工干预,降低了数据库因人工干预造成的风险,减少了数据库运维人员的工作强度,保证了数据库的正常运行,从而降低了运维成本。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的数据库自动备份方法的一种具体实施方式的流程图;
图2为本发明实施例提供的数据库自动备份装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所提供的数据库自动备份方法的一种具体实施方式的流程图如图1所示,该方法包括:
步骤S101:接收用户输入的对数据进行备份的备份指令;
本实施例中,备份指令可以具体包括备份参数、备份模式、备份的表空间名称、备份路径、待备份的数据库名称信息或目录参数。
步骤S102:根据所述备份指令判断待备份数据的备份类型,所述备份类型包括:离线全量备份、在线全量备份、在线增量备份、在线增量差异备份或在线表空间备份;
步骤S103:通过所述备份类型对所述待备份数据进行自动备份。
本发明所提供的数据库自动备份方法,通过接收用户输入的对数据进行备份的备份指令;根据备份指令判断待备份数据的备份类型,备份类型包括:离线全量备份、在线全量备份、在线增量备份、在线增量差异备份或在线表空间备份;通过备份类型对待备份数据进行自动备份。本发明所提供的数据库自动备份方法,能够针对DB2数据库实现自动备份,减少了数据库运维人员的人工干预,降低了数据库因人工干预造成的风险,减少了数据库运维人员的工作强度,保证了数据库的正常运行,从而降低了运维成本。
需要指出的是,本方法可支持linux和unix平台。
本申请中数据库以DB2为例,支持DB2数据库离线全量备份、在线全量备份、在线增量备份、在线增量差异备份、在线表空间备份等,通过与操作系统的定时任务crontab相结合,可以实现数据库的定时自动化备份。
具体地,在上述实施例的基础上,本发明所提供的数据库自动备份方法中,通过所述备份类型对所述待备份数据进行自动备份可以具体包括:根据所述备份指令获取预设备份时间参数;在预设备份时间点对所述待备份数据进行自动备份。
本方法实现原理为:通过接收用户输入的参数备份模式、备份的表空间名称、备份目录、需要备份的数据库名称等数据,对DB2数据库进行备份。通过本实施例提供的方法与系统定时任务相结合,可以实现数据库的自动化备份。例:
0 0**6/db2/db2backup.sh–d sample–m online_full
上例表示在每周六的零点开始sample数据库的在线全备
0,30****/db2/db2backup.sh–d sample–m online_incremental
上例表示每个30分钟进行一次sample数据库的在线增量备份
此外,进一步地,在通过所述备份类型对所述待备份数据进行自动备份之后还可以包括:根据备份过程生成备份日志。本实施例所提供的备份方法可以支持debug模式以及详细的备份日志,通过这样的设置能够方便数据库运维人员进行监控和维护。
本发明所提供的数据库自动备份方法对应的程序可以具体为:
程序核心代码如下:
在上述任一实施例的基础上,本发明实施例在接收用户输入的对数据进行备份的备份指令之前还可以进一步包括:
接收用户对备份的日志文件目录、备份数据文件基本目录、增量备份数据文件目录进行设置的指令;并设置用户读写目录的权限。
例如,BACKUP_LOGF="/tmp/db2backup.log"
BACKUP_BASE_PATH="/db2data/backup/his"
MIRROR_BACKUP_PATH="/db2data/backup/cur"
同时设置程序脚本拥有者具有读写这些目录的权限
手工执行备份程序:
/db2/db2backup.sh–h
--显示帮助信息
/db2/db2backup.sh–d sample–m offline_full
--离线全备sample数据库
/db2/db2backup.sh–d sample–m online_full
--在线全备sample数据库
/db2/db2backup.sh–d sample–m online_incremental
--在线增量备份sample数据库
/db2/db2backup.sh–d sample–m online_incremental
--在线增量差异备份sample数据库
/db2/db2backup.sh–d sample–m online_full–t usertbs
--在线全量备份sample数据库usertbs表空间
与crontab结合自动化备份
0 0**6/db2/db2backup.sh–d sample–m online_full
--在每周六的零点开始sample数据库的在线全备
0,30****/db2/db2backup.sh–d sample–m online_incremental
--每个30分钟进行一次sample数据库的在线增量备份
下面对本发明实施例提供的数据库自动备份装置进行介绍,下文描述的数据库自动备份装置与上文描述的数据库自动备份方法可相互对应参照。
图2为本发明实施例提供的数据库自动备份装置的结构框图,参照图2数据库自动备份装置可以包括:
接收模块100,用于接收用户输入的对数据进行备份的备份指令;
判断模块200,用于根据所述备份指令判断待备份数据的备份类型,所述备份类型包括:离线全量备份、在线全量备份、在线增量备份、在线增量差异备份或在线表空间备份;
备份模块300,用于通过所述备份类型对所述待备份数据进行自动备份。
其中,所述备份指令包括备份参数、备份模式、备份的表空间名称、备份路径、待备份的数据库名称信息或目录参数。
在上述实施例的基础上,本发明所提供的数据库自动备份装置中备份模块具体为:根据所述备份指令获取预设备份时间参数;在预设备份时间点对所述待备份数据进行自动备份的模块。
在上述任一实施例的基础时,本发明所提供的数据库自动备份装置还可以进一步包括:
设置模块,用于在接收用户输入的对数据进行备份的备份指令之前,接收用户对备份的日志文件目录、备份数据文件基本目录、增量备份数据文件目录进行设置的指令;并设置用户读写目录的权限。
作为一种具体实施方式,本实施例还可以包括:
备份日志生成模块,用于在通过所述备份类型对所述待备份数据进行自动备份之后,根据备份过程生成备份日志。
本发明所提供的数据库自动备份装置,通过接收用户输入的对数据进行备份的备份指令;根据备份指令判断待备份数据的备份类型,备份类型包括:离线全量备份、在线全量备份、在线增量备份、在线增量差异备份或在线表空间备份;通过备份类型对待备份数据进行自动备份。本发明所提供的数据库自动备份装置,能够针对DB2数据库实现自动备份,减少了数据库运维人员的人工干预,降低了数据库因人工干预造成的风险,减少了数据库运维人员的工作强度,保证了数据库的正常运行,从而降低了运维成本。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的数据库自动备份方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。