数据库备份恢复技术的研究及应用设计

时间:2022-08-09 08:23:43

数据库备份恢复技术的研究及应用设计

摘要:数据库系统的备份恢复是当前数据库技术发展的一个重要课题,在实际应用中有着很重要的地位。本论文介绍了作者参与的某银行综合业务系统的备份和恢复部分,这是一个利用ORACLE数据库系统和EMC的TimeFinder实现的数据库备份和恢复的系统。本文从作者实际所从事的工作出发,通过ORACLE数据库系统对数据库系统的备份方法进行研究,探讨和分析了有关数据库系统的备份和恢复的理论、技术和方法。

关键词:数据库;备份恢复;应用设计

中图分类号:TP311 文献标识码:A文章编号:1009-3044(2007)06-11494-02

1 引言

随着信息技术的迅猛发展,计算机在银行业得到了广泛的应用,为保证综合业务信息实时处理系统(以下简称综合业务系统)7×24小时不间断的安全生产运行,银行通常采用磁盘阵列机、双机热备份、流带备份等软硬件容错技术,以有效提高综合业务系统的安全性。管理的数据对企业来说是非常重要的,不允许在系统运行发生故障的情况下丢失任何数据,DBMA (Database management system)应该保证应用系统即使发生故障,也能够在故障清除之后恢复故障发生所丢失的数据。

在当今信息社会,最珍贵的财产并不是计算机软件,更不是计算机硬件,而是计算机内的宝贵数据。建立网络最根本的用途是要更加方便地传递与使用数据,但人为错误、硬盘损坏、电脑病毒、断电或是天灾人祸等等都有可能造成数据的丢失。所以应该强调指出,数据是资产、备份最重要的部分。

鉴于各种因素的不确定性,各大企业,尤其是十分重视数据安全的企业,都采用了数据备份系统。在中国,数据的安全性己得到越来越多的企业的重视。许多商业银行都采用了远程数据备份系统,以保障数据的安全。随着,企业对数据的重视程度的提高,数据备份将成为企业保障数据安全的重要措施。

2 数据存储备份和恢复概述

2.1 备份和恢复的基本概念

总的来说,备份以及恢复包括了为了预防数据库的数据丢失,以及为了能够重建数据而采取的任何策略与手段。

2.1.1 数据库备份

备份(backup)的最简单的方式就是复制数据。对于数据库来说,需要复制的不仅仅是用户数据,还包括一些重要的数据库组件,比如控制文件、数据文件等。在发生数据丢失或应用程序错误时,可以利用备份来重新建立应用程序所需的数据与环境。

备份可以分为“物理备份”与“逻辑备份”两种类型。

物理备份(PhysicalB ackup)

物理备份,是指将数据库文件从一个位置复制到另一个位置上,需要进行备份数据库包括数据文件、归档重做日志以及控制文件等。物理 备 份 就是数据库文件的复制,这是在数据库备份与恢复策略中最常使用的一种备份方式。一般利用操作系统自带的命令和工具来制作物理备份。

逻辑备份(LogicalBackup)

逻辑备份,是利用export(导出)等工具执行SQL语句的方式将数据库中的数据读取出来,然后再写入到一个二进制文件中。在需要恢复的时候,可以利用import(导入)等工具从这个二进制文件中读取数据,并通过执行SQL语句的方式将他们写入到数据库中。对应地,逻辑数据恢复的并不是操作系统物理文件,而是逻辑数据(比如,表和存储过程)。可以利用export等工具将逻辑数据读取到一个二进制文件中。在数据库的备份与恢复策略中,逻辑备份通常作为物理备份的一种补充方式。和物理备份相比,通过备份导出的数据库和数据文件完全脱离了关系,并且可以被导入到其他的数据库,甚至运行于其他操作平台的数据库中,因此具有更大的灵活性。

2.1.2 数据库恢复

数据库系统中的恢复主要是指恢复数据库本身,即在故障引起数据库瘫痪以及状态不一致之后,将数据库恢复到某个正确状态或一致状态。从数据库理论的角度看,数据库恢复可以用一个简单的词来概括,即“冗余”。换句话说,数据库是否能够恢复,主要取决于在系统其他位置是否冗余地保存了当前数据库的所有信息,而冗余主要是通过数据库物理备份来实现的。

数据库的恢复实际上包括了两个概念:数据库修复和数据库恢复。

数据库修复:数据库修复是指利用备份的数据库文件来替换已经损坏的数据库文件,这项操作主要是在操作系统级完成的。

数据库恢复:数据库恢复是指利用重做日志文件的增量备份来重新建立己经丢失的数据,这项操作主要是在操作系统级别完成的。

对于发生介质损坏的数据库来说(即数据库文件丢失或损坏),通过数据库修复可以弥补数据库的物理缺失,即数据库文件的损坏与丢失;而通过数据恢复则可以弥补数据库的逻辑损失,即数据库中的逻辑数据的损失与丢失。

对数据库进行物理备份,保留的只是数据库在进行备份时刻的一个精确副本。通过数据库修复可以将数据库恢复到进行备份的那个时刻。但是如果将数据库恢复到发生故障的那个时刻,就必须通过应用归档重做日志和联机重做的方式进行数据库恢复。也就是说,先将数据库恢复到进行备份的那个时刻,然后再在数据库备份的基础上,通过应用重做数据而重现从备份时刻开始到故障发生之前这一段时间中所有的数据修改操作,从而将数据库恢复到故障发生之前的状态。

2.2 数据安全的因素分析

曾有一位计算机专家说过,系统灾难的发生,不是是否会,而是迟早的问题。造成系统数据丢失的原因很多,有些还往往被人们忽视。正确分析威胁数据安全的因素,能使系统的安全防护更有针对性。一般,导致系统失效的因素主要有以下方面:

(1)系统物理故障

主要是系统设备的运行损耗、存储介质失效、运行环境(温度、湿度、灰尘等)对计算机设备的影响、电源供给系统故障、人为的破坏等。

(2)系统软件设计的缺陷

现今操作系统环境和应用软件种类繁多,结构复杂。软件设计上的缺陷也会造成系统无法正常工作。另外,版本的升级、程序的补丁等都会对系统造成影响。

(3)使用人员人为失误

由于操作不慎,使用者可能会误删除系统的重要文件,或者修改了影响系统运行的参数,以及没有按照规定要求、操作不当导致系统失灵。

(4)自然灾害

首先,地理环境决定了我国具有较高的自然灾害发生率,如地震、严重的洪涝灾害等。其次,火灾也是一大隐患。火灾的发生概率要比自然灾害高得多。一般来讲,一个大型城市每年平均都会发生几百起火灾事故。虽然灾害与其他因素相比发生的频率并不高,但这样的灾害只要发生一次,就会给银行带来很大的麻烦。

3 数据存储备份和恢复的现状

3.1 目前,银行业内数据存储备份和恢复存在如下问题:

其一,目前的系统备份有着和目前的竞争环境不适应的地方。首先,每天的备份均采用手工将数据导出的方法进行,这种备份方式当出现流带问题或数据库系统崩溃时,恢复将耗费很多的时间,无法在很短的时间内进行恢复,这将导致整个业务系统的瘫痪。

其二,在非工作时间如果系统意外宕机,必须由系统工程师立即赶赴现场进行系统的重启和恢复,由于路途耽误,到达现场后再进行启动恢复将耗费很多时间,这将对业务造成很大的影响。

同时,现存备份方式存在如下隐患:

第一,由于生产用机不能停机,使开发和测试用的数据和生产数据卷无法完全分离开来,开发系统影响生产系统的性能,生产系统的安全性无法保证。由于开发过程无法完全使用真实的生产数据,因此新开发的应用程序无法具有更高的代码质量。备份速度慢,不能适应数据量的增长。

第二,不少的系统管理员每天都在做着同一样的工作― 对数据进行备份。一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了。由于整个备份工作完全依赖于系统管理员手工完成,备份无法保证规范性和高可靠性。一方面,日复一日的备份工作加重了管理人员的工作:另一方面,由于是手工作业,数据备份的质量更多地依赖系统管理人员的自觉性,由于出差、生病等各种原因,都可能造成备份工作的疏漏。有时,还可能发生失误,如误将有用的磁带内容覆盖了。

3.2 ORACLE备份与恢复的基本策略

在开始创建数据库之前就应该考虑如何指定备份策略,以保证数据库在发生各种故障时都可以得到恢复,尤其是针对介质故障的情况,如果在创建数据库之前没有考虑到备份策略,那么根本就无法应付类似硬盘损坏这样严重的介质故障。在建立备份策略的时候需要具体问题具体分析,比如操作系统的资源配置、数据库系统的运行要求等都会对备份的策略产生重要的影响。Oracle数据库作为数据库领域的主流数据库产品,其备份准则与策略如下:

如果用一个简单的词来概括“数据库的备份与恢复”,那就是“冗余”。为ORACLE数据文件、控制文件以及重做日志文件建立的备份可以统称为数据库的一个“冗余集”。

ORACL E数据库备份与恢复采用了如下的黄金法则:存储冗余集的硬盘或其他介质,应当独立于存储数据文件、联机重做日志文件以及控制文件的硬盘或其他介质。通俗地讲,所谓法则就是不要把备份的数据和系统当前的正在使用的数据放到同一个位置上。遵循这个法则,就能够保证即使存储当前的数据库文件的硬盘发生损坏,也不会影响到恢复数据库所需的备份文件,这样数据库仍然是可恢复的。

由此可知,一个产品化的ORACLE数据库至少要求使用两个硬盘:一个硬盘用于存储冗余集(应当通过ORACLE的复合功能将联机重做日志文件以及控制文件复合到这个硬盘中),另一个硬盘用于存储当前的数据库文件。

4. 银行系统备份与恢复方案实现

4.1 利用BCV卷进行快速数据备份

银行需要全天24小时运作,这给的备份工作留下的时间微乎其微,而随着银行的进一步扩展,可供备份的时间将会更少。

BCV ( BusinessContinuanceVolume,业务连续性卷)是EMC存储上的一块空间,利用BCV卷可以对STD(Stand volume)标准卷进行快速的数据备份。BCV的使用主要是为了将ORACLE数据库系统和EMC的设备有机地结合在一起。

对BCV生成的备份数据有三个方面用途:

(1)用于数据库崩溃时进行数据的恢复,由于每天进行的BCV卷是ORACLE数据库在每天某个时间点的物理备份,如果数据库崩溃后需要进行恢复,就可以利用该BCV卷加上archive log进行恢复。由于有当天的数据库物理全备,所以可以对数据库进行快速的恢复,以减轻对业务的影响;

(2)将备份出来的数据分流到其他机器上进行报表的分发和处理,以减轻主机的工作压力,使交易能够正常进行;

(3)用于程序的测试,由于数据是最近的生产数据的全备份,可以给程序测 提供全真的环境,这样测试出来的程序有很大的实用性。

要完成基于ORACLE 的BCV联机备份,需要两个步骤,第一步是BCV的建立,第二步是BCV的分离。建立BCV是为了得到数据,而分离BCV,则是为了使用数据。BC V一旦建立,就使图中R1及R2的STD卷和BCV卷处于同步状态。处于同步状态时,STD卷所作的一切更改均同步到BCV上,而且这种镜像过程非常快,对于数十GB的数据量来说,在10分钟之内均可完成,一旦分离,就可以得到一个数据库的物理全备,该物理全备可用于数据库测试和恢复。

利用EMC公司的BCV工具对硬盘或逻辑驱动器进行的镜像,即将当前的数据库系统数据精确地复制一份到其它设备中,然后通过分离镜像的方式就可以得到一个独方的与当前数据库完全相同的备份。

4.2 利用SRDF建立容灾系统

利用磁带拷贝进行数据备份和恢复是最常见的传统灾难备份方式。这些磁带拷贝通常都是按天、按周或按月进行组合保存的。使用这种方式的数据拷贝通常是存储在盘式磁带或盒式磁带上,并存放在远离基本处理系统的某个安全地点,不过,从使用磁带拷贝方式进行的系统备份和恢复过程可以看出,基于磁带拷贝方式的传统灾难备份方式存在明显缺陷,越来越不适合用户不断发展的业务系统的需要。

为满足当前业务需求,我们选择了EMC的高端智能存储系统使用SRDF技术规划。SRDF技术是EMC公司Symmetrix存储系统用于保护本地数据的磁盘镜像(RAID-1)技术的一种发展。EMC SRDF解决方案是基于存储系统的智能解决方案,与主机的操作类型及应用无关。使用SRDF时,其数据保护机制与服务器CUP、HBA、IO卡及应用处理程序无关,不占用服务器的资源,同时,可自动保护任何服务器类型和任何操作系统中的数据。同时,该智能存储平台,通过优秀的CACHE算法使数据尽可能使用CACHE I/0操作替代硬盘I/0操作,将对整个系统硬件性能的提高起着决定性作用

SRDF有如下特点:

SRDF的运行完全独立于主机和主机操作系统,不额外占用任何主机CPU、主机通道和网络资源,且支持几乎所有主流商用主机配置,SRDF是目前较为成熟的远程实时容灾热备份解决方案。

由于EMC SRDF方案中只要求企业存储系统之间直接互通,无需对应用作任何修改。系统在进行容灾切换时,只需几条命令即可,整个切换过程简单,对网点用户透明。SRDF还支持备份现场到生产现场的恢复(Restoration )。

使用在线的、独立于主机的镜像数据解决方案,将生产站点数据复制到一个或多个物理上独立的目标Symmetrix系统,而勿需考虑位置的远近。提供的能力包括:同步和异步远程复制,将数据快速地从源卷传输到位于灾备中心的远程卷。并且能彻底改变传统的白天营业,晚上备份的工作方式。当数据中心运行中断时,SRDF可以在几分钟内从镜像目标获得数据,恢复系统的运行。另外,SRDF可以实施数据在不同环境间的实时有效复制―无论这些环境相距远近。

采用EMC智能存储系统的SRDF远程磁盘镜像技术等作为数据备份技术,生产中心和灾备中心之间通过直连光缆实现数据备份通道,生产中心和灾备中心通过广域网的IP协议相连接。

5 结束语

论文首先对数据库系统的备份和恢复的原理和方法进行了认真的研究,并结合某银行系统的综合业务系统的需求,通过ORACLE数据库的备份和恢复,并利用EMC的BCV,对综合业务系统的备份和恢复进行了开发。并阐述了数据备份和恢复的重要性,由于数据的重要性,许多大的企业和单位都将数据的备份和恢复放在非常重要的位置上,随着数据备份和恢复的发展,今后的发展前景将十分的广阔。

参考文献:

[1]王海亮.精通Oracle10g备份与恢复[M].中国水利水电出版社,2005.

[2]滕永昌,高杨.Oracle数据库系统管理[M].清华大学出版社,2003.

[3]孟小峰等.数据库技术发展趋势[J].软件学报,2004(15),12:1822-1836.

[4]赵广利,赵焕忠.基于Oracle数据库安全管理技术的实现[J].计算机工程与应用,2000(36),4:98-99.

[5]李海波.Oracle数据库的安全及备份恢复[J].电脑知识与技术:认证考试,2004(4):13-15.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:基于MVC模式的数据库分页显示的设计与实现 下一篇:PC预装正版,微软强制正版化对行业的影响