备份及恢复

备份及恢复过程能够保护数据库,防止数据丢失,并在需要时重建数据。重建数据通常是通过介质恢复实现的,介质恢复是指利用备份的数据库文件所执行的复原,前滚,及回滚等一系列操作。本章将介绍设计备份恢复策略时需要掌握的基本概念。

备份简介:备份是数据的一个副本。这个副本中通常包含数据库的重要组成部分,例如控制文件及数据文件等。备份能够减少不可预见的数据丢失或应用程序错误造成的损失。如果原始数据丢失,用户可以使用备份重建数据。

备份分为物理备份及逻辑备份。物理备份指物理数据库文件的副本,物理备份是备份恢复策略的主体。用户可以使用 Recovery ManagerRMAN)或操作系统工具进行物理备份。与物理备份相对的是逻辑备份,这种备份方式使用 Oracle 工具抽取逻辑数据(例如,表或存储过程)并保存在二进制文件中。逻辑备份可以作为物理备份的补充。

进行 Oracle 备份恢复的方式有两种:使用 Recovery Manager 进行备份恢复,或手工管理的备份恢复。

Recovery Manager (RMAN) 是用于备份,复原,及恢复数据库文件的 Oracle 工具。RMAN Oracle 数据库的内置工具,无须单独安装。

用户也可以使用操作系统命令进行备份,并使用 SQL*Plus 进行恢复。这种方式被称为手工管理的备份恢复。Oracle 同时支持上述两种方式,但强烈建议采用 RMAN,因为采用 RMAN 的备份恢复方式更为健壮,且能够极大地简化备份恢复的管理工作。

无论用户采用 RMAN 或手工管理的备份恢复,都可以使用 Export utility(导出工具)对方案对象进行逻辑备份,作为物理备份的补充。Export 能够将 Oracle 数据库内的数据写入二进制的操作系统文件。用户可以使用 Import utility(导入工具)将数据恢复到数据库中。

本节包含以下主题:

  • 一致性备份与非一致性备份
  • 数据库完全备份与数据库部分备份
  • RMAN 备份与手工管理备份

一致性备份与非一致性备份:

一致性备份的含义是,备份所包含的各个文件中的所有修改都具备相同的系统变化编号。也就是说,备份所包含的各个文件中的所有数据均来自同一时间点。与非一致性备份不同,使用一致性数据库完全备份进行复原后,不需要执行恢复操作。

非一致性备份指,在数据库处于打开状态时,或数据库异常关闭后,对一个或多个数据库文件进行的备份。

一致性备份概述:对数据库整体或部分进行的一致性备份后,备份中所有数据文件及控制文件都经历过检查点,拥有相同的 SCN

进行一致性数据库完全备份的唯一方法是:首先使用 NORMALIMMEDIATE,或 TRANSACTIONAL 选项关闭数据库,并在数据库处于关闭状态时进行备份。如果数据库没有完全关闭,例如出现实例故障,或用户使用了 SHUTDOWN ABORT 语句,此时数据库的数据文件是非一致性的,除非此数据库为只读数据库

非一致性备份概述:非一致性备份的含义是,备份所包含的各个文件中的所有修改不具备相同的系统变化编号。换句话说,有些修改在备份中不存在。这意味着备份所包含的各个文件中的所有数据来自不同的时间点。如果数据文件在备份的同时也在被修改就会出现上述情况。Oracle 的恢复操作能够比较所有数据文件头中的 SCN,之后以最早的 SCN 为起点读取归档及联机重做日志文件,并将其中出的所有修改应用到复原的数据文件中。

数据库完全备份(whole database backup)是数据库内所有数据文件(datafile)及控制文件(control file)的备份。数据库完全备份是最常用的一种备份。

运行在 ARCHIVELOG(归档)及 NOARCHIVELOG(非归档)模式下的数据库都可以进行数据库完全备份。在 进行数据库完全备份前,应了解在 ARCHIVELOG NOARCHIVELOG 模式下各种备份方案间的关系。

 

 

 

如图 1 显示了进行数据库完全备份时所有可能的备份方案。

数据库完全备份

 

 


归档                                     非归档

 

 


打开状态         关闭状态                 打开状态  关闭状态

非一致性备份                         非一致性备份(无效)

             

      一致性备份  非一致性备份          一致性备份  非一致性备份

                                                        (不推荐)

1数据库完全备份

数据库完全备份既可以是一致性备份或非一致性备份。备份的类型决定了使用备份复原数据库后是否需要应用重做日志。

恢复简介:复原数据文件或控制文件的物理备份是指利用备份重建这些文件并使其在 Oracle 数据库服务器中正常工作。而对复原的数据文件进行恢复是指利用归档重做日志及联机重做日志对其进行更新,即重做在数据库备份后发生的操作。如果使用了 RMAN,用户也可以使用增量备份来恢复数据文件,数据文件的增量备份中只包含其前一次增量备份后修改过的数据块。当所有文件被复原后,用户还需执行介质恢复的剩余步骤。介质恢复过程包括了对备份数据库文件的复原,前滚及回滚等操作。

在介质恢复过程中将应用归档重做日志及联机重做日志恢复数据文件。Oracle 每次修改数据文件之前,都会首先将这些修改记录在联机重做日志中。介质恢复过程 就是将归档重做日志及联机重做日志中的相关修改操作记录应用到复原的数据文件中以实现前滚。

如果用户需要修正逻辑数据错误或用户操作失误,可以使用 Oracle Flashback(回闪)技术。用户利用 Oracle Flashback Database(回闪数据库)及 Oracle Flashback Table(回闪表)能够将数据迅速恢复到之前某个时间点的状态。

2 显示了数据库备份,复原,及介质恢复的基本原理。

 

 

 


数据库备份                                          介质故障

 


         100         200         300         400        500

                             SCN

                         

                       归档重做日志

 

 

 

 

 

 

 


复原的数据库         恢复(应用重做日志)         恢复的数据库

2 介质恢复:

2 显示了数据库介质故障后进行复原及恢复的基本概念。数据库在 SCN 100 时进行了备份,在 SCN 500 时发生了介质故障。SCN 100 500 之间的重做日志已经被归档以供恢复只用。用户首先使用 SCN 100 时制作的备份复原数据库(复原也可以在新介质上进行)。之后再使用重做日志恢复数据库,即重新执行从备份点到介质故障点之间的所有数据修改操作。

 

书名:备份及恢复

作者:Tammy Bedna

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值