1、10Copyright CUIT, 2004. All rights reserved.第十章 数据库的备份与恢复1-2 数据备份和恢复几乎是任何计算机系统中绝对必需的组成部分,本章的主要内容包括 数据库备份概述 脱机(冷)备份、联机(热)备份 使用 Oracle企业管理器备份数据 数据库恢复概述 用 SQL命令手工进行数据库恢复操作 使用 Oracle企业管理器恢复数据1-3 10.1 数据库备份概述 10.1.1 数据库备份的种类 物理备份 逻辑备份 10.1.2 造成数据库损失并需要恢复的各种问题 实例崩溃 介质损失 异常突发灾难1-4 10.1.3 数据库备份的内容 备份一个 Orac
2、le数据库,就是将组成数据库的文件复制到一个备份存储介质中。一个数据库的完整备份包括下列文件: 全部数据文件 归档日志文件 通过多路复用或系统镜像生成的联机日志文件副本 通过多路复用或系统镜像生成的控制文件副本 各种参数配置文件,包括数据库启动参数文件、网络配置文件、数据库口令文件等。1-5 10.1.4 数据库的备份模式 数据库可以运行在两种备份模式下:存档模式和非存档模式。 非存档模式下,数据库不对联机日志文件进行归档。控制文件指示写满的日志文件组无须归档。这样,在日志书写进程切换到原来写满的日志文件时,就会覆盖其中所有的记录。非存档模式仅能使数据库从实例崩溃中恢复,而对介质损失无能为力。
3、 存档模式又叫介质可恢复模式。在这种模式下,数据库必须对联机日志文件进行归档。控制文件要求日志书写进程不得使用未被归档的已写满的联机日志文件。这样就保留了完整的日志文件记录,确保了可以恢复所有的已提交的事务。1-6 查看一个数据库出于何种备份模式,可以通过企业管理器的例程管理,连接想要查询模式的数据库。登录后,双击树状目录例程管理,然后单击图标 配置 ,如图 10.1所示 图 10.11-7 从图 10.1可以看出 ,数据库 NORMDATA处于NOARCHIVELOG备份模式下 ,即非存档模式下 . 还可以通过手工 SQL命令来检查数据库的备份模式,其命令为 :ARCHIVE LOG LIS
4、T;如图 10.2 图 10.21-8 10.1.5 制订备份策略 在进行数据库备份前,结合自身数据库的特点制定一个切实可行的备份策略是十分必要的,以下是需要考虑的一些要点。 ( 1)数据库备份和恢复的 “黄金定律 ” 用于备份的磁盘一定要和数据库数据文件、控制文件、联机日志文件所在磁盘相分离。这样就能保证数据库文件所在的磁盘损坏时不会影响到备份的数据文件和日志文件。1-9 ( 2)选择数据库的备份模式:强烈建议采用存档 模式 在存档模式下,全部日志文件都进行了完整的保存。若数据库文件出现损失,就可以从备份中还原数据文件和控制文件,对其实施日志文件中记录的任何变化,这样就把数据库完全恢复到错误发生前的情况。大部分的Oracle产品数据库都是运行在存档模式下。1-10 ( 3)有计划地、经常地进行数据库备份 根据数据库变化的频率制定备份的频率。若数据库经常进行改动,则应频繁地进行备份;反之,若数据库是只读的或很少改动,则可降低备份频率。 ( 4)在数据库进行结构性改动的前后进行数据库 备份 ( 5)避免对联机日志文件进行备份。 操作人员可能无意中恢复了备份的联机日志文件,而对数据库造成巨大损失。保护联机日志文件免于介质故障的最好办法是对其进行多路复制。