Oracle数据库的备份与恢复策略 下载本文

龙源期刊网 http://www.qikan.com.cn

Oracle数据库的备份与恢复策略

作者:韦德强

来源:《电脑知识与技术》2010年第19期

摘要:Oracle 作为主流的大型关系型数据库管理系统,它提供了丰富的备份与恢复功能,保证系统的安全性。该文简要阐述了Oracle数据库应用中常用的备份与恢复方案以及各自的适用范围,并在此基础上给出了备份和恢复策略的建议方案,以助于数据库管理员进行比较和决策。 关键词:Oralce;数据库备份;数据库恢复;RMAN恢复管理器;数据泵 中图分类号:TP309.3文献标识码:A 文章编号:1009-3044(2010)19-5367-04 Backup and Recovery Strategy of Oracle Database WEI De-qiang

(Ningbo Municipal Bureau of National Land And Resource,Zhenhai Branch, Ningbo 315200, China)

Abstract: As a widely used Relational Database Management Software(RDBMS), Oracle

database provides powerful backup and recovery technology to secure the system safety and integrity. The paper introduces the common solution of data backup and recovery on Oracle database, and then an appropriate strategy of backup and recovery will be covered, which helps database administrators to compare with each other solution and make right decision. Key words: Oracle; e4backup; recovery; RMAN; data pump

Oracle 数据库系统是一个功能强大和灵活的关系型数据库系统,它的安全、可靠、高效,以及对各种高端硬件平台、网络和存储技术的支持,使其成为业界主流数据库系统之一。 Oracle数据库在正常情况下能够保证数据的安全和系统的稳定,为用户提供日常服务,但由于在使用过程中计算机硬件故障、系统软件和应用程序的错误、操作员的失误等都可能影响数据库中数据的正确性和安全性,重则使数据库中的数据部分或全部丢失,甚至导致系统瘫痪。这就要求数据库管理员必须采用适当的技术手段和方法,延长数据库平均故障的发生时间,并当数据库中的数据遭到破坏时能够尽快从数据备份中恢复数据,从而将损失减少到最小,保障企业的效益。Oracle为用户提供了完善的备份与恢复功能,保证系统的安全性。本文将在介绍Oracle备份与恢复技术基础上,阐述Oracle数据库备份与恢复的策略。 1 Oralce数据库的备份方案

龙源期刊网 http://www.qikan.com.cn

Oracle数据库提供了两类备份,物理备份和逻辑备份(导入/导出)。物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,它只涉及到组成数据库的文件,而不考虑其逻辑内容。而逻辑备份是利用SQL语言从数据库中抽取数据连同逻辑结构写入二进制文件中的过程,逻辑备份是物理备份的补充。

物理备份又根据数据库的工作模式分为非归档模式(nonarchive log)和归档模式(archive log)。非归档模式又被称为脱机备份或冷备份,而相应的归档模式被称为联机备份或热备份。它们的关系如图1所示。

这三种备份方案各有特点,采用何种备份方案,既要根据应用系统的规模、用户多少、数据量的大小等具体情况,还要考虑实现技术的复杂性、数据库管理员的技术熟练度等多种因素。 1.1 脱机备份(非归档模式)

数据库脱机备份,即在数据库已经正常关闭的情况下进行备份,数据库处于Offline状态。其特点是简单、可行、可靠。脱机备份要备份所有的数据文件(.DBF文件)、所有控制文件(.CTL文件)、所有联机日志文件(REDO*.*文件)、以及初始化参数文件INIT.ORA(可选)。当数据库处于打开状态时,执行数据库文件系统备份是无效的。

由于在进行数据库备份期间数据库是关闭的,导致应用系统无法使用,尤其在数据库比较大、文件的读、写速度较慢,系统要求工作在7×24模式下采用此方案不合适。但对于小型的应用,单位没有专职的数据库管理员,应用系统不要求7×24不间断工作,采用此方式备份则切实可行。

1.2 联机备份(归档模式)

联机备份是指在数据库打开运行的情况下进行备份,一般需要通过使用Alter命令改变表空间的状态来开始进行备份,备份完成后,恢复原来的状态。联机备份方式可以用在数据库不能中断,需要全天运行的条件下。联机备份要求数据库必须在归档方式下操作,由于联机备份需要消耗较多的系统资源,如大量的存储空间,因此联机备份应安排在数据库不使用或使用率较低的情况下进行为宜。

联机备份方法可以使用SQL*Plus 程序和Oracle Enterprise Manager(OEM)中的备份向导两种方式进行联机备份。使用SQL*Plus语句的备份过程如下: 1)查看数据库是否已经启动归档日志: archive log list;

如果归档日志模式没有启动,则打开数据库的归档日志模式,先使用shutdown immediate 命令关闭数据库,然后使用如下命令启动数据库:

龙源期刊网 http://www.qikan.com.cn

startup mount;

2)修改数据库的归档日志模式: alter database archivelog; 3)完成联机备份。

一旦数据库运行在archivelog状态下,就可以做备份了。sqlplus上执行的联机备份命令包括对三部分文件的备份: 第一步,数据文件的备份。 ① 设置表空间为备份状态:

alter tablespace example begin backup; ② 备份表空间的数据文件: 用操作系统的复制拷贝数据文件。 ③ 回复表空间为正常状态: alter tablespace example end backup 第二步,归档日志文件备份:

alter system switch logfile;--强迫日志切换,以便所有的日志都被归档 archive log list;--获取当前的日志顺序号

从最早的概要日志序列到当前日志序列的联机redo日志都应该拷贝出来。 第三步,控制文件的备份:

alter database backup controlfile to trace;--获得控制文件的备份

然后到%oracle_base-min%oracle_sid%udump目录中寻找最新的跟踪文件,其中有重建控制文件的全部命令。 1.3 逻辑备份