数据库备份方案

  • 格式:pdf
  • 大小:23.12 KB
  • 文档页数:4

ORACLE数据库的备份与恢复方案探讨 第三军医大学大坪医院信息科 于鸿飞 柯新华 邱金玉 黄 昊 祁 薇 1 数据库备份与恢复的重要性 “军字一号”是以ORACLE为后台数据库的大型医院信息系统,也是目前国内应用较成熟的一套医院信息系统,已广泛应用与军队及地方各级医院,它的的安全、可靠的运行,将会给医院带来良好的社会和经济效益。

但是在使用过程中由于计算机硬件故障、系统软件和应用软件的错误、操作员的失误等都可能影响数据库中数据的正确性,甚至使数据库中的数据部分或全部丢失,同时由于ORACLE数据库的复杂性,要求数据库管理员必须采用适当的技术手段和方法,延长数据库平均故障的发生时间,缩短数据库平均故障的恢复时间,保证数据库高效、安全、可靠的运行。

这就要求必须有一套安全可靠、切实可行的备份与恢复方案。

2 备份方案的选择 ORACLE数据库管理系统提供三种备份方案,即输出(EXPORT)、脱机备份(OFFLINEBACKUP)、联机备份(ONLINEBACKUP)。

输出方式属于数据库的逻辑备份,脱机备份和联机备份属于数据库的物理备份。

这三种备份方案各有特点,究竟采用何种备份方案,不但要根据自己单位的应用系统大小、用户多少、数据库大小等具体情况,还要充分考虑实现技术的复杂性、数据库管理员自身素质等多种因素。

下面分别介绍主要备份方式的实现方法及适用范围。

2.1 逻辑备份ORACLE数据库的逻辑备份包含读一个数据库记录集和将记录集写入一个二进制文件中,这些记录的读出与其物理位置无关。

逻辑备份具有三种方式:FULL方式、USER方式、TABLE方式。

FULL方式输出整个数据库,USER方式输出一个用户的某些对象,TABLE方式输出指定的表。

逻辑备份使用简单,且能消除数据库内部碎片,有的数据库管理员比较喜欢利用此备份方案,但对于大型数据库的应用来说,要保证数据的一致性、完整性非常困难且用时太长,有时长达几十个小时,这对于一般单位都是不能允许的。

此方式只适用于小型、用户数少的应用系统。

在做数据库逻辑备份之前,需要做2项工作:一是确定权限,如果希望能够卸出整个数据库,则必须拥有卸出整个数据库的权限;二是设置数据库为归档状态,这样如果在操作过程中发生故障,还可以恢复。

ORACLE数据库的逻辑备份可通过EXPORT命令行方式或工具方式实现。

2.1.1 以命令行方式实现输出命令EXP带有一个或多个参数,其命令格式为:EXP KEYWORD1: = VALUE1 KEYWORD2 : = VALUE2 KEYWORD3: =VALUE3可以写一批处理文件,方便备份,如:以备份表(即TABLE)方式写的EXPORT.BAT,内容为:REM 启动SQLPLUS执行E:\BACKUP目录内的EXPORT.SQLd:\orant\bin\plus33 system/manager @e:\backup\export.sqlEXPORT.SQL内容为:spool e:\back up\export.loghost exp USERNAME/USERPASSWORD grants=N indexes=N rows=Y tables=(表1、表2、表3……) file=e:\backup\backup001.dmp log=e:\backup\back up001.logspool offexit;备份时,可手工执行EXPORT.BAT批处理文件,或在WINDOWS NT 的A T命令集内添加命令自动执行。

如:每周六凌晨6:00执行备份,写如下A T命令:AT 6:00 /EVERY:S “E:\BACKUP\EXPORT.BAT”。

2.1.2以工具方式实现在ORACLE数据库管理器中提供了输出工具,该工具有如下三个功能:EXPORT 输出数据库IMPORT 装入数据库LOAD 以指定控制文件方式转入非数据库格式的数据。

可以根据应用系统情况,根据管理器的提示信息做数据库的输出、输入、转入。

2.2脱机备份所谓数据库脱机备份,即在进行备份时数据库已经正常关闭,处于OFFLINE状态。

其特点是简单、可行、可靠。

由于在进行数据库备份期间数据库是关闭的,导致应用系统无法使用,尤其在数据库比较大,文件的读、写速度较慢,系统要求工作在7*24模式下采用此方案显然不合适。

但对于小型的应用,单位没有专职的数据库管理员,应用系统不要求7*24不间断工作,采用此方式备份则切实可行。

脱机备份要备份所有的数据文件、所有控制文件、所有联机日志文件、配置文件。

脱机备份有多种实现方式,下面以所有文件在同一路径下为例加以介绍,文件路径为:D:\ORANT\DATABASE。

2.2.1NT备份首先关闭数据库,再从ORACLE FOR WINDOWS NT菜单找到NTBACKUP菜单项,登录之后得到备份界面,根据界面提示进行适当选项进行备份,由于有良好的GUI,不再对界面选项逐一解释,备份完后启动数据库。

2.2.2复制、粘贴首先关闭数据库,在WINDOWS NT操作系统下,找到D:\ORANT\DABABASE文件夹,复制后粘贴到目的驱动器,完后启动数据库。

2.2.3 命令行方式首先关闭数据库,用COPY或XCOPY命令进行全部文件的拷贝,和前2种方式相比,命令行方式较灵活,可以把经常用到的备份命令写一批处理文件,备份时手工执行批处理或写一WINDOWS NT AT 命令自动执行。

我们写的保存在E:\BACKUP文件夹内的批处理文件FULLBACKUP.BAT内容如下:d:\orant\bin\svrmgr<e:\back up\orashut.txt>e:\backup\orashut.lognet stop OracleStartORCLnet stop OracleServiceORCLxcopy d:\orant\database e:\database /v /s /h >e:\backup\orafull.logd:\orant\bin\svrmgr<e:\back up\orastart.txt>e:\back up\orastart.lognet start OracleServiceORCLnet start OracleStartORCL其中ORASHUT.TXT和 ORASTART.TXT内容分别为:ORASHUT.TXT :connect internal/oracle ORASTART.TXT: connect internal/oracleshutdown immediate startupexit exit可以看出,只需在备份时双击FULLBACKUP.BAT文件,就能自动完成关闭数据库、拷贝全部文件、启动数据库的工作,完全不用人工干预,若想每天定时备份,可写A T命令,如:每天早上6:00定时做全数据库备份,把如下命令加入A T命令集即可:AT 6:00 /EVERY:M,T,W,TH,F,S,SU“E:\BACKUP\FULLBACKUP.BAT”2.3联机备份所谓数据库联机备份,即在进行数据库备份时,数据库是打开的,用户可以照常使用,这对于7*24小时的关键应用来说,非常必要,但在运行管理方面,较数据库脱机备份要复杂一些。

进行数据库联机备份的前提是数据库必须工作在归档方式下(ARCHIVELOG方式),且数据库是打开的。

联机备份可以用NT备份管理器、ORACLE操作系统来完成,因联机备份是以备份表空间的方式进行的,最好把备份过程写成命令文件,一次性完成所有备份,命令文件有三部分:(1)逐个表空间数据文件备份,包括设置表空间为备份状态、备份表空间的数据文件(系统表空间、回滚段表空间、临时表空间、用户表空间)、将表空间恢复到正常状态。

(2)备份归档的日志文件,包括临时性停止归档处理、备份归档日志文件、重开始归档处理。

备份完成后,可把已备份过的归档日志文件删除。

(3)备份控制文件及配置文件。

备份系统表空间可写如下命令:alter tablespace system begin backup; //进入备份状态xcopy d:\orant\database\sys1orcl.ora e:\backup\sys1oracl.ora;alter tablespace system end backup;备份其它表空间可参照以上命令书写。

备份归档日志文件可写如下命令:archivelog stop;xcopy d:\orant\archive e:\backup\archive /v /s /h >e:\arbackup\archive\orafull.logconnect internal/******archibvelog start;控制文件的备份可写如下命令:connect internal/******alter datebase backup controlfile to e:\backup\ control.bkp ;2.4一种切实可行的备份方案我们在使用ORACLE数据库过程中,以上3种备份方案都尝试过,经过比较总结,综合以上3种备份,介绍一种切实可行的备份方案:首先脱机进行全数据库备份,执行频率根据数据库大小及对数据库改动的多少而定(如每周一次),然后每天数次备份归档日志、联机日志、控制文件、配置文件,备份次数的多少直接影响恢复数据的完整性,应根据各单位具体情况而定。

此方案不仅适用于大型的应用,也适用于小型的应用。

采用此备份方案应注意在用机和备用机环境的一直,有利于恢复。

3 恢复策略 采用何种方式恢复数据库和所采用的备份方案有密切关系。

采用逻辑备份的数据库恢复,可用IMP 命令来恢复,具体命令格式可用IMP HELP=Y来获得帮助。

采用脱机备份的数据库可用NT备份恢复工具进行恢复,也可把整个目录复制到备用机,在备用机上启动数据库,由于是采用的脱机备份,在上次备份后所发生的数据库改动将不能恢复,若采用命令行方式每天定时进行全数据库脱机备份,在恢复数据库时将最多损失1天的数据,对于小型应用可以接受。

采用联机备份的数据库可用恢复命令RECOVER 来进行恢复,命令参数可参阅有关书籍。

采用冷备份加日志文件、控制文件的备份方案,在恢复中,先把脱机备份的数据库全部拷贝到备用机,然后根据日志文件、控制文件进行重做日志,若日志文件、控制文件备份的频率设置得当,可把数据库恢复到理想时间点甚至发生故障点。

4 备份介质及备份时间的选择 备份介质有硬盘和磁带2种,根据我们应用情况,应首先把数据库备份到一块独立的硬盘上,再由硬盘备份到磁带,若直接备份到磁带,将花费很长时间,影响用户使用。