当前位置: 首页 > 期刊 > 《糖尿病之友》 > 2010年第11期 > 正文
编号:11963156
《军队疗养院信息管理系统》中Oracle数据库备份与恢复策略
http://www.100md.com 2010年11月1日 王雷 周晓明 肖征
第1页

    参见附件(2125KB,3页)。

     【摘要】 从保障数据库安全的角度出发,探讨Oracle数据库备份与恢复在《军队疗养院信息管理系统》维护中的应用,通过使用恢复管理器(Recovery Manager,RMAN),制定合理的备份策略,实现数据库的完全备份与恢复,解决了Oracle数据库因计算机系统故障引起的数据损坏或丢失等问题。

    【关键词】 Oracle数据库;恢复管理器;备份;恢复

    《军队疗养院信息管理系统》在全军各疗养院的推广应用,极大地提高了各疗养院的疗养管理效率,其中Oracle作为该系统的后台数据库发挥了重要作用。随着医疗数据的日益增加,对Oracle数据库的安全稳定运行提出了更高的要求,但是无论数据库系统如何配置和优化,都不能确保数据库系统绝对安全稳定。当数据库遭到破坏时,数据库管理员必须利用数据库备份对数据库进行及时有效地恢复,确保数据安全。因此,数据库的备份与恢复是数据库管理员的重要职责。

    1备份与恢复概述

    1.1数据库备份数据库备份是对数据库物理结构文件,包括数据文件、日志文件和控制文件的备份。Oracle数据库有物理备份和逻辑备份两种备份方法,其中物理备份又分为冷备份和热备份。

    1.2冷备份冷备份通常是在数据库正常关闭后,对其使用过的各个文件都进行备份,这些文件构成数据库关闭时的一个完整印象,通常而言,冷备份是最快和最安全的方法[1]。但是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。

    1.3热备份热备份是指当数据库打开时,对数据库进行的物理备份,这种备份方式称为联机备份,热备份要求数据库运行在归档方式下。热备份可以通过Oracle提供的可视化工具实现,也可以通过预先创建好的命令文档实现。

    1.4逻辑备份逻辑备份利用Oracle提供的Export命令将数据从数据库中提取出来,生成一个二进制的导出转储文件,此文件包含完全重建全部所选对象所需的命令,与热备份相同,系统不必为逻辑备份而关闭。

    1.5数据库恢复数据库备份的目的是为了数据库发生故障后能及时恢复,数据库恢复根据故障类型分为实例恢复与介质恢复。实例恢复将数据库恢复到故障之前的事务一致状态;介质恢复主要用于因介质故障引起的数据库文件破坏时使用。根据数据库备份性质,Oracle提供了两种不同的恢复模式——完全恢复与不完全恢复。完全恢复要求数据库在归档方式下运行,可以恢复全部丢失的数据,使数据库恢复到最新状态;不完全恢复是指将数据库恢复到故障之前的某个时间节点。

    2RMAN原理及配置

    2.1RMAN原理RMAN是Oracle公司在Oracle 8.0以后推出的数据库备份与恢复工具。RMAN通过自动启动操作系统进程将数据备份到磁盘或磁带上。与常用的物理数据库备份、逻辑数据库备份不同,RMAN使用数据库对数据库进行备份的原理,RMAN必须运行在一个数据库上,在RMAN数据库中存储了对于远程数据库的备份信息,它有自身的语法形式,可以通过命令行方式或企业管理器控制台图形方式控制,提供第三方介质管理,极大地简化了备份与恢复流程。

    2.2RMAN配置步骤及示例①创建一个恢复数据库并在该数据库中创建恢复目录所用表空间,示例如下:SQL>create tablespace rmants datafile'c:\oracle\oradata\rmants.ora’。②在目录数据库中创建RMAN用户并授权,示例如下:SQL>create user rman identified by rman default tablespace rmants temporary tablespace temp quota unlimited on rmants;SQL>grant recovery_catalog_owner to rman。③在目录数据库中创建恢复目录,示例如下:RMAN>create catalog tablespace rmants。④注册目标数据库到恢复目录,示例如下:RMAN>connect catalog rman/rman@cc;RMAN>connect register system/manager@aspsrv;RMAN>register database。

    3RMAN备份策略及示例

    3.1RMAN备份模式RMAN提供了两种备份模式:完全备份、增量备份。完全备份包括了所有有数据的数据块;增量备份仅备份上一次同一级别或更低级备份被修改过的数据块,有两种方式:DIFFERENTIAL(差异)和CUMULATIVE(累积),默认情况下RMAN创建的增量备份是DIFFERENTIAL方式,执行增量备份时必须首先执行基础备份(0级备份),增量备份因备份数据量较小,占用较少的网络带宽和较低的存储空间,成为实施策略备份的主流。

    3.2策略制定根据《军队疗养院信息管理系统》中Oracle数据库的特点,采用DIFFERENTIAL方式,在周三、日对数据库进行0级备份,在周一、二、四、五、六对数据库进行1级备份[2],这样无论数据在哪一天发生故障,都可以利用备份文件、归档日志文件及联机日志文件对数据库进行完全恢复。备份策略的实施(图1)。

    主要实现代码示例如下[3]:①0级备份(每周日、三用):run{allocate channel d1 type disk;backupincremental level=0 databaseformat ‘d:/db_%d_%s_%p_% t‘tag=‘WHOLE_INC0’;}②1级备份(每周一、二、四、五、六用):run{allocate channel d1 type disk;backupincremental level=1 database format ‘d:/db_%d_%s_%p_%t‘tag=‘WHOLE_INC1’;}

    3.3RMAN备份确认备份确认是保证数据库是否成功进行了备份,一般可以通过RMAN提供的LIST命令对数据文件、控制文件、日志文件的备份进行确认。

    4RMAN恢复策略及示例

    RMAN恢复是将一个失效的数据库调整返回到有序的工作状态的过程,根据数据的故障性质及恢复的实际需要,可以对数据库进行完全恢复或不完全恢复。RMAN通过还原(Restore)与恢复(Recover)这两个命令对数据库进行恢复。

    4.1完全恢复完全恢复是将数据库恢复到故障发生前的那一刻,在利用RMAN进行完全恢复时,所有在线和归档重做日志文件的记录都会被用来恢复数据库,从备份中恢复已经损坏的文件,然后应用日志文件将该数据文件恢复到当前的时间点,代码示例如下:run{allocate channel d1 type disk;restore controlfile;restore database;recover database;} ......

您现在查看是摘要介绍页,详见PDF附件(2125KB,3页)