一种基于快照的oracle数据库保护方法

文档序号:6638096阅读:714来源:国知局
一种基于快照的oracle数据库保护方法
【专利摘要】本发明涉及一种基于快照的oracle数据库保护方法,包括以下步骤:主机挂载存储设备,并在存储设备上安装oracle数据库;客户端根据快照任务向存储设备发送快照请求;存储设备根据接收到快照请求,将对应的文件路径发送给快照代理;快照代理根据注册文件将接收到的文件路径转换成对应存储卷的volid;存储设备收到volid后获取相应的volname,并向代理快照发送确认请求;快照代理判断当前数据库实例是否能够备份,若是,则保持数据库实例一致性状态,执行快照操作后,存储设备向快照代理发送解除请求,解除数据库实例一致性状态。与现有技术相比,本发明具有对主机依赖小、数据安全性和可靠性高等优点。
【专利说明】一种基于快照的oracle数据库保护方法

【技术领域】
[0001]本发明涉及计算机存储技术和数据管理技术相结合的交叉学科【技术领域】,尤其是涉及一种基于快照的oracle数据库保护方法。

【背景技术】
[0002]数据保护一直都是计算机存储技术和数据管理技术的一个重要研宄领域。从早期人类伊始利用石刻、竹签和羊皮卷记录信息,数据存储作为一种知识获取与交流的手段便已传承下来。
[0003]数据存储从造纸技术、印刷术、激光打印,再到后来的纸带、软盘、硬盘、光盘等不断发展至今,伴随着信息化时代的到来,人们对数据的安全性和可靠性的要求也越来越高。oracle数据库作为目前主流的客户/服务器或B/S体系结构的数据库之一,为其提供一种安全可靠的数据保护方式便成为了迫切的需要。
[0004]纵观现有的数据保护方法,大体可以分为三类:远程复制、快照和克隆。
[0005](I)远程复制就是将要备份的文件或块数据通过网络传输到异地容灾站点,实现数据的备份及保护。但是该方法花费时间多,占用主机资源。
[0006](2)快照是指数据在某个时间点的映像,是数据的一个完全可用拷贝,提供在线数据恢复。此外快照还为存储用户提供了一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。因此,所有存储系统,不论高中低端,只要应用于在线系统,那么快照就成为一个不可或缺的功能。
[0007](3)克隆是指源数据集某时间点的实体复制。如果说快照是某时刻定型的影子,那么克隆就是实实在在的实体,是完全独立于源数据集的。因此相对于快照而言,克隆需要一个额外的存储空间来存放数据块。
[0008]目前这些技术在数据保护上的应用对主机的依赖性很大,鲜有对数据应用的保护。


【发明内容】

[0009]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于快照的oracle数据库保护方法,采用存储端对数据应用进行保护,解决了现有技术对主机依赖性大的问题,实现在线实时保护,保证了数据的安全性和可靠性。同时采用快照代理对数据库进行监控,确保了快照操作时数据的一致性。
[0010]本发明的目的可以通过以下技术方案来实现:
[0011]一种基于快照的oracle数据库保护方法,包括以下步骤:
[0012]I)主机挂载存储设备,生成相应的注册文件,并在存储设备上安装oracle数据库;
[0013]2)客户端根据快照任务向存储设备发送快照请求;
[0014]3)存储设备根据接收到快照请求,获取需快照的数据库实例,同时将对应的文件路径发送给快照代理;
[0015]4)快照代理根据注册文件将接收到的文件路径转换成对应存储卷的volid,并返回给存储设备;
[0016]5)存储设备收到volid后获取相应的volname,并向代理快照发送确认请求;
[0017]6)快照代理判断当前数据库实例是否能够备份,若是,则保持数据库实例一致性状态,执行步骤7),若否,则退出;
[0018]7)执行快照操作后,存储设备向快照代理发送解除请求,解除数据库实例一致性状态。
[0019]所述主机挂载存储设备采用的方式包括iscs1、FC、FCoE或IB。
[0020]所述快照任务由开始按钮触发或由计划任务周期调用触发。
[0021]所述快照任务包括需快照数据库实例名称、快照执行频率、快照执行时间、保留记录数和任务名称。
[0022]所述快照请求中至少包括一个需快照的数据库实例。
[0023]所述步骤6)中,快照代理根据数据库状态判断当前数据库实例是否能够备份,当数据库在归档模式下正常启动时,当前数据库实例能够备份。
[0024]与现有技术相比,本发明具有如下有益效果:
[0025]1、减少对主机的依赖。将保护数据存于存储设备,确保主机状态不影响数据安全性及可用性。
[0026]2、由于本发明是基于快照技术的数据保护,不需要额外的存储空间,此外,可实现瞬时回滚。
[0027]3、本发明是基于应用的保护,可以实现单个实例或多个实例的同步保护。
[0028]4、在对数据进行保护时,不影响主机的其它操作。不会因为要进行数据备份而终止操作,避免了用户的等待时间。
[0029]5、本发明可以对oracle数据库的所有文件进行保护,包括控制文件、参数文件、日志文件和参数文件等,确保了数据的安全性和可靠性。
[0030]6、本发明采用了快照代理机制,为数据的一致性提供了保障。

【专利附图】

【附图说明】
[0031]图1为本发明的原理框图;
[0032]图2为本发明注册应用流程示意图;
[0033]图3为本发明创建快照任务流程示意图;
[0034]图4为本发明执行快照任务流程示意图。

【具体实施方式】
[0035]下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0036]本发明将存储设备挂载在主机上,挂载存储设备采用的方式包括iscs1、FC、FCoE或IB等。本实施例以iscsi存储技术为例进行说明,将oracle数据库搭建在存储设备iscsi卷中,这样可以减少对主机的依赖性,实现数据的安全性与完整性,同时创建实例和表空间,配置oracle为归档模式,然后安装用于数据库监控的快照代理。
[0037]如图1所示,将存储设备2挂载在主机3上,首先客户端I向存储设备2发送快照请求,存储设备2收到请求后又会向快照代理Agent发送请求及要快照的文件路径。此时Agent会利用iscsi技术,结合注册表信息,将文件路径转换成存储卷的volid。存储设备2根据该volid确定要快照的文件的真实路径,并通知Agent要进行快照。如果数据可备份,Agent在收到该信息后让数据保持一致性状态,以此确保快照时数据的一致性。
[0038]在进行快照操作前,需对业务主机进行注册。如图2所示,根据输入的主机IP地址或选择的集群及数据库类型可以确定要保护的一个或多个应用。该应用下又可以有多个实例,通过对应用的保护实现多个实例的保护。
[0039]注册完成后创建快照任务,如图3所示。首先确定任务名称、任务类型(快照)和保留恢复点。然后选择快照对象,存储后端(存储设备)调用rest接口向快照代理获取IP主机或集群上所选类型的所有数据库实例。用户可自行选择对哪些实例进行快照,同时输入快照执行的频率、时间等信息,完成快照任务创建。
[0040]当用户点击开始按钮或者计划任务周期调用触发快照操作时,存储后端会收到快照请求,并向快照代理发送数据库文件路径。快照代理在将文件路径转换成挂载上去的卷的volid后返回给存储后端。此时存储后端便可以根据卷的volid确定卷的名称,同时向快照代理发送请求,判断该快照任务中的数据库实例是否能够备份。若能备份,存储端会再次向快照代理发送请求,让数据库实例保持一致性状态。存储后端执行完快照操作后,向快照代理发送解除一致性状态的请求操作,完成快照。执行快照任务流程如图4所示:
[0041]步骤slOl,客户端根据快照任务向存储设备发送快照请求。
[0042]步骤sl02,存储设备根据接收到快照请求,获取需快照的数据库实例,同时将对应的文件路径发送给快照代理,快照请求中至少包括一个需快照的数据库实例。
[0043]步骤sl03,快照代理根据注册文件将接收到的文件路径转换成对应存储卷的volid,并返回给存储设备。
[0044]要实现数据的保护,最重要的是保证数据的一致性。本发明为数据库提供了一个操作接口,也就是快照代理。存储设备在收到来自客户端的快照请求后,首先会向快照代理发送请求,并传送要快照的数据库文件路径。该文件路径只是客户端所看到的路径,而不是数据库所在存储设备上的真实路径。因此必须进行相应的转换,以实现对存储数据的快照。
[0045]注册表作为一套控制操作系统外表和如何响应外来事件工作的文件。其HKEY_L0CAL_MACHIN根键中存放的是用来控制系统和软件的设置。其下的HARDWARE/DEVICEMAP子键用于存放设备映象。因此本实施例中,在存储设备的存储卷挂载在主机上时,就会在HARDWARE/DEVICEMAP/Scsi下相应的Target Id目录中生成相应的注册文件。通过解析可以发现,虚拟卷的信息,包括TargetName和volid,均存储于Target Id目录下的注册文件中。因此只需要找到相应的注册文件,便可得到相匹配的卷volid。然而现有的获取iscsi卷信息的技术还不能获取其Targetld,只能得到其TargetName。因此需要通过对比注册文件中TargetName部分,才能唯一确定对应的存储卷的volid。
[0046]步骤sl04,存储设备收到volid后获取相应卷的名称volname。
[0047]步骤sl05,存储设备向代理快照发送确认请求,快照代理根据数据库状态判断当前数据库实例是否能够备份,若数据库在归档模式下正常启动,则判断当前数据库实例能够备份,执行步骤sl06,若否,则退出。
[0048]步骤sl06,保持数据库实例一致性状态。
[0049]步骤sl07,执行快照操作。
[0050]步骤sl08,快照操作后,存储设备向快照代理发送解除请求,解除数据库实例一致性状态。
[0051]步骤sl09,向数据库写入该次执行的结果。
【权利要求】
1.一种基于快照的oracle数据库保护方法,其特征在于,包括以下步骤: 1)主机挂载存储设备,生成相应的注册文件,并在存储设备上安装oracle数据库; 2)客户端根据快照任务向存储设备发送快照请求; 3)存储设备根据接收到快照请求,获取需快照的数据库实例,同时将对应的文件路径发送给快照代理; 4)快照代理根据注册文件将接收到的文件路径转换成对应存储卷的volid,并返回给存储设备; 5)存储设备收到volid后获取相应的volname,并向代理快照发送确认请求; 6)快照代理判断当前数据库实例是否能够备份,若是,则保持数据库实例一致性状态,执行步骤7),若否,则退出; 7)执行快照操作后,存储设备向快照代理发送解除请求,解除数据库实例一致性状态。
2.根据权利要求1所述的基于快照的oracle数据库保护方法,其特征在于,所述主机挂载存储设备采用的方式包括iscs1、FC、FCoE或IB。
3.根据权利要求1所述的基于快照的oracle数据库保护方法,其特征在于,所述快照任务由开始按钮触发或由计划任务周期调用触发。
4.根据权利要求1或3所述的基于快照的oracle数据库保护方法,其特征在于,所述快照任务包括需快照数据库实例名称、快照执行频率、快照执行时间、保留记录数和任务名称。
5.根据权利要求1所述的基于快照的oracle数据库保护方法,其特征在于,所述快照请求中至少包括一个需快照的数据库实例。
6.根据权利要求1所述的基于快照的oracle数据库保护方法,其特征在于,所述步骤6)中,快照代理根据数据库状态判断当前数据库实例是否能够备份,当数据库在归档模式下正常启动时,当前数据库实例能够备份。
【文档编号】G06F21/62GK104463014SQ201410756636
【公开日】2015年3月25日 申请日期:2014年12月10日 优先权日:2014年12月10日
【发明者】唐婧 申请人:上海爱数软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1