`
aaronngup
  • 浏览: 34358 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • kittychina: 不错,把CMS产业梳理了一下。
    CMS
  • lsl916201: 这都从哪粘过来的……
    CMS
  • bluedusk: 楼主  请教个问题   哪个cms和mediawiki结合的比 ...
    CMS

数据库中备份、恢复的概念及其关系

阅读更多
来源:时代朝阳数据库技术中心

什么是备份 

所谓备份,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。通常也将存放于转储设备中的数据库的拷贝称为原数据库的备份或转储。如下图所示: 



ORACLE 数据库的备份分为物理备份和逻辑备份两种。物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。可以使用  Oracle 的恢复管理器(Recovery Manager,RMAN)或操作系统命令进行数据库的物理备份。逻辑备份是利用SQL语言从数据库中 抽取数据并存于二进制文件的过程。Oracle提供的逻辑备份工具是 EXP。数据库逻辑备份是物理备份的补充。 

根据在物理备份时数据库的状态,可以将备份分为一致性备份(consistent backup)和不一致性备份(inconsistent backup)两种: 

一 致性备份:一致性备份是当数据库的所有可读写的数据库文件和控制文件具有相同的系统改变号(SCN),并且数据文件不包含当前 SCN 之外的任何改变。 在做数据库检查点时,Oracle 使所有的控制文件和数据文件一致。对于只读表空间和脱机的表空间,Oracle 也认为它们是一致的。使数据库处于一 致状态的唯一方法是数据库正常关闭(用shutdown normal 或 shutdown immediate 命令关闭)。因此,只有在以下条件下 的备份是一致性备份: 

数据库正常关闭(用shutdown normal 或 shutdown immediate 命令关闭)。 

不 一致性备份:不一致备份是当数据库的可读写的数据库文件和控制文件的系统改变号(SCN)在不一致条件下的备份。对于一个 7*24 工作的数据库来说, 由于不可能关机,而数据库数据是不断改变的,因此只能进行不一致备份。在 SCN 号不一致的条件下,数据库必须通过应用重做日志使 SCN 一致的情况 下才能启动。因此,如果进行不一致备份,数据库必须设为归档状态,并对重做日志归档才有意义。在以下条件下的备份是不一致性备份: 

数据库处于打开状态。 

数据库处于关闭状态,但是用非正常手段关闭的。例如,数据库是通过 shutdown abort 或机器掉电等等方法关闭的。 

什么是恢复 

所谓恢复,就是把数据库由存在故障的状态转变为无故障状态的过程。根据出现故障的原因,恢复分为两种类型: 

实例恢复。这种恢复是Oracle实例出现失败后,Oracle自动进行的恢复。 

介质恢复。这种恢复是当存放数据库的介质出现故障时所做的恢复。本书后面提到的恢复都是指介质恢复。 

装载(restore)物理备份与恢复(Recover)物理备份是介质恢复的手段。装载是将备份考回到磁盘,恢复是利用重做日志(物理备份的一部分)修改考回到磁盘的数据文件(物理备份的另一部分),从而恢复数据库的过程。如下图所示: 



根据数据库的恢复程度,将恢复方法分为两种类型: 

完全恢复:将数据库恢复到数据库失败时数据库的状态。这种恢复是通过装载数据库备份和并应用全部的重做日志做到的。 

不完全恢复:将数据库恢复到数据库失败前的某一时刻数据库的状态。这种恢复是通过装载数据库备份和并应用部分的重做日志做到的。进行不完全恢复后必须在启动数据库时用 resetlogs 选项重设联机重做日志。 

例 如,在上午10:00,由于磁盘损坏导致数据库中止使用。现在使用两种方法进行数据库的恢复,第一种方法使数据库可以正常使用,且使恢复后与损坏时 (10:00)数据库中的数据相同,那么第一种恢复方法就属于完全恢复类型;第二种方法能使数据库正常使用,但只能使恢复后与损坏前(例如9:00)数据 库中的数据相同,没能恢复数据库到失败时(10:00)数据库的状态,那么第二种恢复方法就属于不完全恢复类型。 

事实上,如果数据库备份是一致性的备份,则装载后的数据库即可使用,从而也可以不用重做日志恢复到数据库备份时的点。这也是一种不完全恢复。 



备份与恢复的关系 

备份一个ORACLE数据库,类似于买医疗保险——在遇到疾病之前不会意识到它的重要性,获得保险金的数量取决于保险单的种类。同理,随着制作备份的种类和频繁程度的不同,数据库发生故障后其恢复的可行性、难度与所花费的时间也不同。 

数据库故障是指数据库运行过程中影响数据库正常使用的特殊事件。数据库故障有许多类型,最严重的是介质失败(如磁盘损坏),这种故障如不能恢复将导致数据库中数据的丢失。数据库故障类型有: 

语句失败。 

用户进程失败。 

实例失败。 

用户或应用错误操作。这类错误可能是意外地删除了表中的数据等错误操作。 

介质失败。如硬盘失败,硬盘中的数据丢失。 

自然灾害。如地震、洪水等。 

由于故障类型的不同,恢复数据库的方法也不同。通过装载备份来恢复数据库既是常用的恢复手段,也是恢复介质失败故障的主要方法。 

备份与恢复要考虑的问题 

备份与恢复要考虑以下的三个问题: 

备份与恢复策略要考虑的商业、操作、及技术问题; 

灾难恢复计划的组成; 

测试备份与恢复策略的重要性。 

能够进行什么样的恢复依赖于有什么样的备份。作为 DBA,有责任从以下三个方面维护数据库的可恢复性: 

使数据库的失效次数减到最少,从而使数据库保持最大的可用性; 

当数据库不可避免地失效后,要使恢复时间减到最少,从而使恢复的效率达到最高; 

当数据库失效后,要确保尽量少的数据丢失或根本不丢失,从而使数据具有最大的可恢复性。 

备份与恢复策略要考虑的商业、操作、及技术问题 

作 为 DBA,首先需要了解企业是如何使用数据库系统的,以及企业对数据库的可用性,恢复性能,和数据的可恢复性以及恢复时间的要求。然后,DBA 需要使 企业的管理人员了解维护这样的数据库的可用性的代价有多大。做到这点的最好方法是评估恢复需要的花费,以及丢失数据给企业带来的损失。 

在 代价被评估后,就可以进行备份与恢复的讨论了。此时,要定义数据库总体的可用性需求,并根据各项工作对数据库可用性的影响程度来定义工作重点的次序。例 如,如果数据库需要 7*24 的可用性,那么其重要性就高于其它任何工作,其它任何需要关机才能做的工作就不能做。 

另外,数据库 变化的情况也是备份与恢复策略需要考虑的一个因素。例如,如果数据不断改变,有新数据或数据文件加入,或表结构有大的变化,则应该经常备份;反之,如果数 据是静态的或只读的,则备份一次即可。无论如何,应遵从这样一个原则,如果怀疑数据库的可恢复性,就应该备份。 

灾难恢复计划的组成 

针对灾难恢复,必须回答下述问题: 

系统可能出现什么样的灾难恢复情况? 

如果出现数据丢失,灾难恢复情况是怎样的? 

系统中数据的易变程度如何? 

如果出现问题,系统需要多快的速度恢复? 

在各种情况下恢复策略的代价,以及相应的花时间重新录入数据的代价? 

对这些问题的回答组成了灾难恢复计划。 

计算机是易坏的。主板上的芯片、主板电路、内存、电源等任何一项不能正常工作,都会导致计算机系统不能正常工作。当然,这些损坏可以修复,不会导致应用和数据的损坏。但是,如果计算机的硬盘损坏,将会导致数据丢失,此时必须用备份恢复数据。 

灾 难恢复的最重要步骤是设计充足频率的硬盘备份过程。备份过程应该满足系统要求的可恢复性。例如,如果数据库可有较长的关机时间,则可以每周进行一次冷备 份,并归档重做日志;但是,如果数据库只有极少的关机时间,则只能从硬件的角度来考虑备份与恢复的问题,例如使用硬盘镜像或双机系统。选择备份策略的依据 是:丢是数据的代价与确保数据不丢失的代价之比。 

果每天都能备份当然会很理想,但要考虑其现实性。企业都在想办法降低维护成本,现实的方案才可能被采用。只要仔细计划,并想办法达到数据库可用性的底线,花少量的钱进行成功的备份与恢复也是可能的。 

DBA 还应以服务协议的形式制订一个可恢复性与可用性的标准文件。该文件应成为讨论DBA 服务,以及服务是否能达到预期标准的依据。这样做可使所有相关人员对同样的预期有潜在的危机感。

测试备份与恢复策略的重要性 

备份与恢复策略必须经测试无误后才可使用。如果进行了备份,但不知道该备份是否支持希望的恢复目标则与根本没有备份没有两样。 

恢复策略也要考虑虑对环境的依赖性。例如,假如机器的硬盘失效了,供货商能在多长时间内提供一个新的硬盘;在机器需要重新启动时,能找到操作系统管理员吗? 

另外一个需要考虑的问题是数据库是否能经受自然的破坏。应在与计算机不同的地方再存储一份备份介质,以免出现自然灾害时主机与备份一起遭到破坏。 

最后需要考虑的问题是万一DBA 出现了问题怎么办?后备的DBA能否执行备份策略?他或她能找到支持用的文档吗?这些文档存在吗? 

没有比花了大精力指定了好的计划,但没有测试其有效性而使其付诸东流的了。一个好的计划还应容纳人为错误,特别是用于开发的系统。理想的测试计划应包括以下内容: 

一系列的测试例子及其状态描述; 

测试结果是否成功的标准; 

解决这些状态的步骤。 

只有在上述情况测试成功的前提下,DBA 才应该考虑把备份计划付诸实施,用于实际使用的生产系统。 

在数据库实际使用时,备份策略的测试也不能终止。小范围的测试可以确保备份策略可以满足未来的需求。随着应用系统的成熟,备份策略也应相应地成熟。如果备份策略不能满足新的需求,就应该重新设计。 

测试备份策略还有其它的一些好处: 

测试人工的备份过程可能会发现人工的疏漏,促使DBA考虑自动的备份方法。只要自动的备份过程经过了测试,并能解决数据库改变后的(例如增加了表空间)的备份问题,自动备份是有益无害的。 

测 试的另外一个好处是可以发现数据块的问题。如果数据文件的一个或多个数据块损坏了,而又使用了数据库的物理备份方法,则损坏了的数据块会被拷贝到备份文件 中,这会导致备份的损坏和数据库的损坏。如果不做测试,该问题是不会被发现的。当然,也可以通过设置INIT.ORA 文件中的参数 DB_BLOCK_CHECKSUM 或用DBVERIFY 实用工具进行数据的完整性检查。 

为什么要请人制定备份恢复计划和编写操作脚本 

备份恢复计划极其重要,万一失手,损失不可估量。 

备份恢复计划和编写操作脚本需要高水平专业人员完成,以确保万无一失。 

当然,如果用户自己有高水平的专业人员,自己完成这项工作是没有问题的,无需外援。  
分享到:
评论

相关推荐

    SQLServer数据库的备份和还原详解

    1. 在SQL Server Management Studio中打开目标数据库,从右键菜单中选择“所有任务 -> 备份数据库”。 2. 选择“完全备份”模式,然后在“备份到”列表框中删除现有内容并添加新的备份目的地。 3. 在弹出的“选择...

    Oracle9i数据库的备份与恢复.pptx

    首先,理解数据库备份的概念至关重要。备份是将数据库的重要组成部分,如初始化参数文件、数据文件、控制文件和重做日志文件复制到安全的存储介质上,以防数据丢失或损坏。备份是预防不可预见的故障,如意外断电、...

    oracle数据库备份与恢复技术

    本文将详细介绍Oracle数据库备份与恢复的相关技术及其操作方法。 #### 二、备份与恢复的重要性 对于企业而言,数据是核心资产。一旦发生不可预见的情况导致数据丢失或损坏,可能会造成无法估量的经济损失和声誉...

    Sybase数据库的备份与恢复

    【Sybase数据库的备份与恢复】是SQL Server中确保数据安全的关键操作,旨在预防意外情况导致的数据丢失。数据库管理员需要定期执行备份,以便在系统发生故障时能够迅速恢复数据。 一、基本概念 1. 事务处理及其日志...

    Oracle数据库备份及其恢复.pptx

    总结来说,Oracle数据库备份与恢复是一个复杂但至关重要的领域,DBA需要熟悉各种备份方法、恢复策略以及相关的Oracle工具,以确保数据的安全性和业务连续性。理解这些概念和技术对于维护一个稳定、可靠的Oracle...

    数据库备份语句 数据库备份语句

    根据给定的信息,我们可以深入探讨有关SQL Server数据库备份的一些关键概念和操作命令。数据库备份是确保数据安全的重要手段之一,特别是在遇到系统故障、硬件损坏或人为错误时,它可以有效地帮助恢复数据。 ### 1....

    delphi数据库的备份

    在IT行业中,数据库备份是至关重要的任务,它确保了数据的安全性和可恢复性。Delphi是一种流行的集成开发环境(IDE),常用于创建Windows应用程序,包括处理数据库操作。本篇文章将详细讲解如何使用Delphi 7来实现...

    oracle数据库自动备份脚本带说明

    Oracle数据库是企业级广泛应用的关系型数据库管理系统,为了确保数据的安全性和可恢复性,定期进行数据库备份至关重要。"oracle数据库自动备份脚本带说明"的标题表明这是一个关于如何自动化执行Oracle数据库备份的...

    数据库备份恢复.ppt

    数据库备份恢复是IT领域中至关重要的一个环节,主要目的是保护数据免受意外损失,确保系统的稳定运行。在Microsoft SQL Server 2005中,数据库备份和恢复机制提供了高效的方法来应对各种潜在问题,如硬件故障、用户...

    oracle数据库备份与恢复测试

    ### Oracle数据库备份与恢复的基础概念 Oracle数据库备份是指为了防止数据丢失或损坏而进行的数据复制过程。备份通常分为全备(Full Backup)、增量备(Incremental Backup)等类型。恢复则是在数据丢失或损坏后,...

    数据库备份与恢复综合概述.pptx

    数据库备份与恢复是确保数据安全的关键环节,尤其是在企业级应用中,如财务管理类系统,数据的完整性至关重要。本章主要涵盖了备份与恢复的基本概念、Oracle 数据库的故障类型及其对应的恢复措施。 首先,备份与...

    推选数据库的备份和恢复PPT资料.ppt

    备份是复制数据库及其相关组件的过程,目的是为了在数据库出现故障时能够恢复数据。备份类型主要有两种:静态备份和动态备份。静态备份在备份过程中不允许有任何数据的存取或修改,而动态备份则可以在备份的同时处理...

    Oracle9i数据库备份恢复初步研究

    本文旨在介绍Oracle9i数据库备份恢复的基本概念、分类以及相关工具,并帮助读者理解和采用合适的备份恢复方法。 #### 二、Oracle9i数据库备份的基本概念及分类 ##### 2.1 基本概念 通常意义上的数据库备份是指...

    oracle数据库备份和恢复系列06

    通过小布老师的"Oracle数据库备份和恢复系列06",你将有机会深入学习这些关键概念,并掌握如何在实际环境中运用RMAN进行数据库的保护和恢复。"ITBOBA_RMAN_6"这个文件很可能包含了本讲的详细教程内容,如脚本、演示...

    oracle数据库备份与恢复笔记

    根据提供的文件信息,我们可以深入探讨Oracle数据库备份与恢复的关键知识...通过上述介绍,我们可以了解到Oracle数据库备份与恢复的核心知识点及其实践应用。这对于维护数据库系统的稳定性和数据的安全性具有重要意义。

    SQL Server数据库的数据备份和还原及其Delphi程序实现.pdf

    - 完全恢复:使用数据库备份和事务日志备份进行恢复,提供恢复到故障点或特定即时点的能力。 - 大容量日志记录恢复:类似于完全恢复,但在执行大容量操作时只记录最小日志,不记录操作中的每一个数据记录变化情况...

    Oralcle数据库备份恢复运维实践.pdf

    本课程旨在帮助学习者掌握Oracle数据库的基本备份恢复概念,熟悉RMAN(Redundant Manager)工具的使用,以及理解数据泵(Data Pump)在备份恢复中的应用。 首先,我们需要了解备份的基础知识。备份是预防数据丢失的关键...

    oracle10g常用命令数据库的备份和恢复

    在深入探讨 Oracle 10g 数据库的备份与恢复之前,我们需要了解一些基本概念和环境配置。 ##### 1. 连接到 Oracle 10g 数据库 - **连接到 SYS 用户**: - 使用 SQL*Plus 工具,通过 `sys` 用户以 `SYSDBA` 角色登录...

    备份数据库和还原数据库的插件以及源码

    数据库备份是为了防止硬件故障、软件错误、人为误操作或其他灾难性事件导致的数据丢失,而将数据库中的所有信息复制到另一存储介质上的过程。备份通常分为全量备份、增量备份和差异备份。全量备份会复制数据库的所有...

    数据库备份恢复的原理

    总结来说,数据库备份恢复的原理在于通过备份和重做日志记录的数据,结合检查点信息,能够在数据库出现故障时,将数据恢复到一个已知的正常状态。Oracle数据库提供了完善的机制来实现这一点,包括数据文件、控制文件...

Global site tag (gtag.js) - Google Analytics