资源预览内容
第1页 / 共58页
第2页 / 共58页
第3页 / 共58页
第4页 / 共58页
第5页 / 共58页
第6页 / 共58页
第7页 / 共58页
第8页 / 共58页
第9页 / 共58页
第10页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第8章 数据库备份和恢复备份就是数据库信息的一个拷贝。对于Oracle而言,这些信息包括控制文件、 数 据文件以及重做日志文件等。数据库备份的目的是为了防止意外事件发生而造 成 数据库的破坏后恢复数据库中的数据信息。 8.1 概述备份和恢复是两个互相联系的概念,备份就是将数据信息保存起来;而恢复则 是 当意外事件发生或者某种需要时,将已备份的数据信息还原到数据库系统中去 。 1. 备份原则 (1) 日志文件归档到磁盘,以后再拷贝到磁带上。归档日志文件目的地最好不 要 与数据库文件或联机重做日志文件存储在同一个物理磁盘设备上。如果数据库 文 件和当前激活重做日志文件丢失,可使用联机备份或脱机备份,然后可以继续 安 全操作。当使用CREATE DATABASE命令创建数据库时,MAXLOGFILES参 数 值大于2,将简化丢失未激活但联机的重做日志文件的恢复操作。 (2) 如果数据库文件备份到磁盘上,应使用单独磁盘或磁盘组保存数据文件的 备 份拷贝。备份到磁盘上通常可以在较短时间内恢复。 (3) 应保持控制文件的多个拷贝,控制文件的拷贝应置于不同磁盘控制器下的 不 同磁盘设备上。增加控制文件可以先关闭数据库,拷贝控制文件,改变服务器 参 数文件的参数CONTROL_FILES,再重新启动数据库即可。8.1 概述1. 备份原则 (4) 联机日志文件应为多个,每个组至少应保持两个成员。日志组的两个成员不 应保存在同一个物理设备上,因为这将削弱多重日志文件的作用。 (5) 保持归档重做日志文件的多个拷贝,在磁盘和磁带上都保留备份拷贝。使用 服务器参数文件中的LOG_ARCHIVE_DUPLEX_DEST和 LOG_ARCHIVE_MIN_SUCCEED_DEST参数,Oracle会自动双向归档日志文件 。 (6) 通过在磁盘上保存最小备份和数据库文件向前回滚所需的所有归档重做日志文 件,在许多情况下可以使得从备份中向前回滚数据库或数据库文件的过程简化和 加速。 (7) 增加、重命名、删除日志文件和数据文件改变数据库结构,控制文件都应备份 , 因为控制文件存放数据库的模式结构。此外,增加数据文件后也要备份。 (8) 若企业有多个Oracle数据库,则应使用具有恢复目录的Oracle恢复管理器。这 将使用户备份和恢复过程中的错误引起的风险达到最小。 8.1 概述2.数据库备份应用 下面讨论如何将集成的数据库备份用于实例失败和磁盘失败。 (1) 实例失败 从实例失败中恢复应自动进行。数据库需要访问位于正确位置的所有控制文件、联机重做日 志文 件和数据文件。数据库中任何未提交的事务都要回滚。一个实例失败(例如由服务器失败引起 的) 之后,当数据库要重启动时,必须检查数据库报警日志中的错误信息。 (2) 磁盘失败 磁盘失败也叫介质失败(media failure),通常由磁盘损坏或磁盘上读错误引起,这样一个磁盘 上 驻留的当前数据库文件变得无法被数据库读出。驻留联机重做日志文件的磁盘应被镜像,失 败时 它们不会丢失。镜像可通过使用重做日志文件或在操作系统级镜像文件。 如果丢失的是数据文件,可从前一天晚上的热备份中恢复,步骤如下: (1) 从备份中把丢失的文件恢复到其原来位置 cp /db10/oracle/CC1/data01.dbf/db03/oracle/CC1/data01.dbf (2) 安装数据库ORACLE_SID=CC1;export ORACLE_SIDORAENV_ASK=NO;export ORAENV_ASconnect system/manager as sysdbastartup mount cc1; (3) 恢复数据库 要求给出恢复所需的各归档日志文件名。 recover database; (4) 打开数据库 alter database open; 8.1 概述3. 数据库备份类型 备份一个Oracle数据库有三种标准方式:导出(Export)、脱机备份(offline backup) 和联机(ARCHIVELOG)备份(online backup)。 导出方式是数据库的逻辑备份。脱机备份和联机备份都是物理备份(也称低级备份) 。 (1) 逻辑备份 导出是将数据库中数据备份到一个称为“导出转储文件”的二进制系统文件中。 导出有3种模式: 用户(User)模式:导出用户所有对象以及对象中的数据。 表(Table)模式:导出用户的所有表或者用户指定的表。 全局(Full)模式(也称为数据库模式):导出数据库中所有对象,包括所有数据、数 据定义和用来重建数据库的存储对象。 导出备份可以导出整个数据库、指定用户或指定表。在导出期间,可以选择是否导 出与表相关的数据字典的信息,如权限、索引和与其相关的约束条件。导出备份有 3种类型: 完全型(Complete Export):对所有表执行全数据库导出或仅对上次导出后修改 过的表执行全数据库导出。 积累型(Cumulative):备份上一次积累型备份所改变的数据。 增量型(Incremental):备份上一次备份后改变的数据。8.1 概述3. 数据库备份类型 (2) 物理备份 物理备份是拷贝数据库文件而不是其逻辑内容。Oracle支持两种不同类型的 物理备份:脱机备份(也称冷备份)和联机备份(也称热备份)。 脱机备份 脱机备份在数据库已经正常关闭的情况进行。 联机备份 数据库可能要求24小时运行,而且随时会对数据进行操作。 联机备份过程具备强有力功能的原因有两个。第一,提供了完全的时间点 (point- in-time)恢复。第二,在文件系统备份时允许数据库保持打开状态。 8.3导入/导出导出是数据库的逻辑备份,导入是数据库的逻辑恢复。 8.3.1 导出 数据库的逻辑备份包括读一个数据库记录集和将记录集写入一个文件中。这些记录 的 读取与其物理位置无关。在Oracle中,Export实用程序就是用来完成这样的数据库 备 份的。若要恢复使用由一个导出生成的文件,可使用Import实用程序。 表8.1列出了Export指定的运行期选项。可以在命令提示符窗口输入EXP HELP=Y 调 用EXP命令的帮助信息。 导出有三种模式: (1) 交互模式。在输入Exp命令后,根据系统的提示输入导出参数,如:用户名、 口 令和导出类型等参数。 (2) 命令行模式。命令行模式和交互模式类似,不同的是使用命令模式时,只能在 模 式被激活后,才能把参数和参数值传递给导出程序。 (3) 参数文件模式。参数文件模式的关键参数是Parfile。Parfile的对象是一个包含 激 活控制导出对话的参数和参数值的文件名。 表8.1 Export选项表8.1 Export选项8.3.1 导出【例8.1】以交互模式进行数据库XSCJ的表XS的导出。 C:exp /*在命令提示符下输入EXP, 然后回车*/ Export: Release 10.2.0.1.0 Production on 星期四 6月8 15:18:18 2006Copyright 1982,2005, Oracle. All rights reserved.用户名:admin /*输入用户名和口令*/ 口令:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Production With the Partitioning, OLAP and Data Mining options 输入数组提取缓冲区大小:4096 /*这里使用默认值,直接回车即可*/ 导出文件:EXPDAT.DMPXS.DMP /*输入导出文件名称*/ (1)E(完整的数据库),(2)U(用户) 或 (3)T(表):(2)U T /*在这里选择要导出的类型,我们选择 表*/ 导出表数据(yes/no):yes /*使用默认设置,导出表数据*/ 压缩区(yes/no):yes /*使用默认设置,压缩区*/已导出ZHS16GBK字符集和AL16UTF16 NCHAR字符集 即将导出指定的表通过常规路径 要导出的表(T)或分区(T:P):(RETURN退出)XS/*在此输入要导出的表名称*/ 正在导出表XS22行被导出 要导出的表(T)或分区(T:P):(RETURN以退出) /*导出表XS完毕,直接回车即可完成导出工作。若要导出其他表,在此输入表名即可*/ 在没有警告的情况下成功终止导出。8.3.2导入导出数据可以通过Oracle的Import实用程序导入。可以导入全部或部分数 据。 如果导入一个全导出的导出转储文件,则包括表空间、数据文件和用户在内的 所 有数据库对象都会在导入时创建。不过,为了在数据库中指定对象的物理分配 , 通常需要预先创建表空间和用户。如果只从导出转储文件中导入部分数据,那 么 表空间、数据文件和用户必须在导入前设置好。 当数据库出现错误的修改或删除操作时,利用导入操作通过导出文件恢复 重 要的数据。在使用应用程序前对其操作的表导出到一个概要中,这样,如果由 于 应用程序中的错误而删除或修改了表中数据时,可以从已经导出到概要的备份 表 中恢复误操作的数据。 导入操作可把一个操作系统中的Oracle9数据库导出后再导入到另一个操作 系 统中。 导入操作可以交互进行也可通过命令进行。导入操作选项同导出的基本一 样,表8.2给出导入操作的参数,其他参数请参照导出参数。表8.2 Import关键字表8.2 Import关键字8.3.2导入【例8.2】以交互模式进行XSCJ数据库中XS表的导入。 D:imp /*在命令提示符下输入IMP,然后回车*/ Import: Release 10.2.0.1.0 Production on 星期四 6月8 15:3 8:18 2006Copyright 1982,2005 Oracle. All rights reserved.用户名:admin /*输入用户名和口令*/ 口令:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Production With the Partitioning, OLAP and Data Mining options导入文件:EXPDAT.DMPXS.DMP /*输入要导入的导出转储文 件名*/ 输入插入缓冲区大小(最小为8192)30720/*使用默认设置,然后回车*/经由常规路径导出由EXPORT:V10.02.00创建的文件 已经完成ZHS16GBK字符集和AL16UTF16 NCHAR字符集中的导入 只列出导入文件的内容(yes/no):no8.3.2导入【例8.2】以交互模式进行XSCJ数据库中XS表的导入。由于对象已存在,忽略创建错误(yes/no):no导入权限(yes/no):yes导入表数据(yes/no):yes导入整个导出文件(yes/no):no 用户名:admin/*输入用户名,导 入的数据将会在此用户模式下创建*/ 输入表(T)或分区(T:P)名称。空列表表示用户的所有表 输入表(T)或分区(T:P)名称或。如果完成:XS /*输入要创建的表的名称*/ 输入表(T)或分区(T:P)名称或。如果完成:正在将ADMIN的对象导入到ADMIN 正在导入表“XS”22行被导入 准备启用约束条件 成功终止导入,但出现警告。8.3.2导
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号