oracle10g经典实战第8章 数据库备份和恢复.ppt
《oracle10g经典实战第8章 数据库备份和恢复.ppt》由会员分享,可在线阅读,更多相关《oracle10g经典实战第8章 数据库备份和恢复.ppt(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 数据库备份和恢复数据库备份和恢复备份就是数据库信息的一个拷贝。对于Oracle而言,这些信息包括控制文件、数据文件以及重做日志文件等。数据库备份的目的是为了防止意外事件发生而造成数据库的破坏后恢复数据库中的数据信息。8.1 概述概述备份和恢复是两个互相联系的概念,备份就是将数据信息保存起来;而恢复则是当意外事件发生或者某种需要时,将已备份的数据信息还原到数据库系统中去。1.备份原则备份原则(1)日志文件归档到磁盘,以后再拷贝到磁带上。归档日志文件目的地最好不要与数据库文件或联机重做日志文件存储在同一个物理磁盘设备上。如果数据库文件和当前激活重做日志文件丢失,可使用联机备份或脱机备份
2、,然后可以继续安全操作。当使用CREATE DATABASE命令创建数据库时,MAXLOGFILES参数值大于2,将简化丢失未激活但联机的重做日志文件的恢复操作。(2)如果数据库文件备份到磁盘上,应使用单独磁盘或磁盘组保存数据文件的备份拷贝。备份到磁盘上通常可以在较短时间内恢复。(3)应保持控制文件的多个拷贝,控制文件的拷贝应置于不同磁盘控制器下的不同磁盘设备上。增加控制文件可以先关闭数据库,拷贝控制文件,改变服务器参数文件的参数CONTROL_FILES,再重新启动数据库即可。8.1 概述概述1.备份原则备份原则(4)联机日志文件应为多个,每个组至少应保持两个成员。日志组的两个成员不应保存在
3、同一个物理设备上,因为这将削弱多重日志文件的作用。(5)保持归档重做日志文件的多个拷贝,在磁盘和磁带上都保留备份拷贝。使用服务器参数文件中的LOG_ARCHIVE_DUPLEX_DEST和LOG_ARCHIVE_MIN_SUCCEED_DEST参数,Oracle会自动双向归档日志文件。(6)通过在磁盘上保存最小备份和数据库文件向前回滚所需的所有归档重做日志文件,在许多情况下可以使得从备份中向前回滚数据库或数据库文件的过程简化和加速。(7)增加、重命名、删除日志文件和数据文件改变数据库结构,控制文件都应备份,因为控制文件存放数据库的模式结构。此外,增加数据文件后也要备份。(8)若企业有多个Ora
4、cle数据库,则应使用具有恢复目录的Oracle恢复管理器。这将使用户备份和恢复过程中的错误引起的风险达到最小。8.1 概述概述2.数据库备份应用数据库备份应用下面讨论如何将集成的数据库备份用于实例失败和磁盘失败。(1)实例失败从实例失败中恢复应自动进行。数据库需要访问位于正确位置的所有控制文件、联机重做日志文件和数据文件。数据库中任何未提交的事务都要回滚。一个实例失败(例如由服务器失败引起的)之后,当数据库要重启动时,必须检查数据库报警日志中的错误信息。(2)磁盘失败磁盘失败也叫介质失败(media failure),通常由磁盘损坏或磁盘上读错误引起,这样一个磁盘上驻留的当前数据库文件变得无
5、法被数据库读出。驻留联机重做日志文件的磁盘应被镜像,失败时它们不会丢失。镜像可通过使用重做日志文件或在操作系统级镜像文件。如果丢失的是数据文件,可从前一天晚上的热备份中恢复,步骤如下:(1)从备份中把丢失的文件恢复到其原来位置cp/db10/oracle/CC1/data01.dbf/db03/oracle/CC1/data01.dbf(2)安装数据库 ORACLE_SID=CC1;export ORACLE_SID ORAENV_ASK=NO;export ORAENV_AS connect system/manager as sysdba startup mount cc1;(3)恢复数据
6、库要求给出恢复所需的各归档日志文件名。recover database;(4)打开数据库alter database open;8.1 概述概述3.数据库备份类型数据库备份类型备份一个Oracle数据库有三种标准方式:导出(Export)、脱机备份(offline backup)和联机(ARCHIVELOG)备份(online backup)。导出方式是数据库的逻辑备份。脱机备份和联机备份都是物理备份(也称低级备份)。(1)逻辑备份逻辑备份导出是将数据库中数据备份到一个称为“导出转储文件”的二进制系统文件中。导出有3种模式:用户(User)模式:导出用户所有对象以及对象中的数据。表(Table
7、)模式:导出用户的所有表或者用户指定的表。全局(Full)模式(也称为数据库模式):导出数据库中所有对象,包括所有数据、数据定义和用来重建数据库的存储对象。导出备份可以导出整个数据库、指定用户或指定表。在导出期间,可以选择是否导出与表相关的数据字典的信息,如权限、索引和与其相关的约束条件。导出备份有3种类型:完全型(Complete Export):对所有表执行全数据库导出或仅对上次导出后修改过的表执行全数据库导出。积累型(Cumulative):备份上一次积累型备份所改变的数据。增量型(Incremental):备份上一次备份后改变的数据。8.1 概述概述3.数据库备份类型数据库备份类型(2
8、)物理备份物理备份物理备份是拷贝数据库文件而不是其逻辑内容。Oracle支持两种不同类型的物理备份:脱机备份(也称冷备份)和联机备份(也称热备份)。脱机备份脱机备份在数据库已经正常关闭的情况进行。联机备份数据库可能要求24小时运行,而且随时会对数据进行操作。联机备份过程具备强有力功能的原因有两个。第一,提供了完全的时间点(point-in-time)恢复。第二,在文件系统备份时允许数据库保持打开状态。8.3导入导入/导出导出导出是数据库的逻辑备份,导入是数据库的逻辑恢复。8.3.1 导出导出数据库的逻辑备份包括读一个数据库记录集和将记录集写入一个文件中。这些记录的读取与其物理位置无关。在Ora
9、cle中,Export实用程序就是用来完成这样的数据库备份的。若要恢复使用由一个导出生成的文件,可使用Import实用程序。表8.1列出了Export指定的运行期选项。可以在命令提示符窗口输入EXP HELP=Y调用EXP命令的帮助信息。导出有三种模式:(1)交互模式。在输入Exp命令后,根据系统的提示输入导出参数,如:用户名、口令和导出类型等参数。(2)命令行模式。命令行模式和交互模式类似,不同的是使用命令模式时,只能在模式被激活后,才能把参数和参数值传递给导出程序。(3)参数文件模式。参数文件模式的关键参数是Parfile。Parfile的对象是一个包含激活控制导出对话的参数和参数值的文件
10、名。表表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 2006 Copyright 1982,2005,Oracle.All rights reserved.用户名:admin /*输入用户名和口令*/口令:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Prod
11、uctionWith 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字符集即将导出指定的表通过常规路径要导出的表(
12、T)或分区(T:P):(RETURN退出)XS /*在此输入要导出的表名称*/正在导出表XS22行被导出要导出的表(T)或分区(T:P):(RETURN以退出)/*导出表XS完毕,直 接回车即可完成导出工作。若要导出其他表,在此输入表名即可*/在没有警告的情况下成功终止导出。8.3.2导入导入 导出数据可以通过Oracle的Import实用程序导入。可以导入全部或部分数据。如果导入一个全导出的导出转储文件,则包括表空间、数据文件和用户在内的所有数据库对象都会在导入时创建。不过,为了在数据库中指定对象的物理分配,通常需要预先创建表空间和用户。如果只从导出转储文件中导入部分数据,那么表空间、数据文
13、件和用户必须在导入前设置好。当数据库出现错误的修改或删除操作时,利用导入操作通过导出文件恢复重要的数据。在使用应用程序前对其操作的表导出到一个概要中,这样,如果由于应用程序中的错误而删除或修改了表中数据时,可以从已经导出到概要的备份表中恢复误操作的数据。导入操作可把一个操作系统中的Oracle9数据库导出后再导入到另一个操作系统中。导入操作可以交互进行也可通过命令进行。导入操作选项同导出的基本一样,表8.2给出导入操作的参数,其他参数请参照导出参数。表表8.2 Import关键字关键字表表8.2 Import关键字关键字8.3.2导入导入【例例8.2】以交互模式进行XSCJ数据库中XS表的导入
14、。D:imp /*在命令提示符下输入IMP,然后回车*/Import:Release 10.2.0.1.0 Production on 星期四 6月8 15:3 8:18 2006 Copyright 1982,2005 Oracle.All rights reserved.用户名:admin /*输入用户名和口令*/口令:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 ProductionWith the Partitioning,OLAP and Data Mining options 导入文件:EXPDAT.DM
15、PXS.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/*输入用户名,导入的数据将会在此用户模式
16、下创建*/输入表(T)或分区(T:P)名称。空列表表示用户的所有表输入表(T)或分区(T:P)名称或。如果完成:XS/*输入要创建的表的名称*/输入表(T)或分区(T:P)名称或。如果完成:正在将ADMIN的对象导入到ADMIN正在导入表“XS”22行被导入准备启用约束条件成功终止导入,但出现警告。8.3.2导入导入(2)参数模式参数模式其实就是将命令行中命令后面所带的参数写在一个参数文件中,然后再使用命令,使后面带一个调用该文件的参数。可以通过普通的文本文件编辑器来创建这个文件。为了便于标识,将该参数文件命名为.parfile的后缀。以下是一个参数文件的内容:USERID=ADMIN/MAN
17、AGERFULL=NBUFFER=10000FILE=XS.DMPTABLES=XS使用参数模式执行过程如下:D:EXP PARFILE=XS.PARFILE8.4 脱机备份脱机备份 脱机备份又称冷备份。冷备份是数据库文件的物理备份,需要在数据库关闭状态下进行。通常在数据库通过一个shutdown normal或shutdown immediate命令正常关闭后进行。当数据库关闭时,其使用的各个文件都可以进行备份。这些文件构成一个数据库关闭时的一个完整映像。冷备份要备份文件包括所有数据文件、所有控制文件、所有联机重做日志、init.ora文件和SPFILE文件(可选)。在磁盘空间容许的情况下,
18、首先将这些文件复制到磁盘上,然后在空闲时候将其备份到磁带上。冷备份一般在SQL*Plus中进行。8.4 脱机备份脱机备份【例例8.3】把XSCJ数据库的所有数据文件、重做日志文件和控制文件都备份。(1)正常关闭要备份的实例C:sqlplus/nologSQLconnect system/manager as sysdbaSQLshutdown normal(2)备份数据库使用操作系统的备份工具,备份所有的数据文件、重做日志文件、控制文件和参数文件。(3)启动数据库SQLstartup mount8.5 联机备份联机备份联机备份又可称为热备份或ARCHIVELOG备份。联机备份要求数据库运行在A
19、RCHIVELOG方式下。Oracle是以循环方式写联机重做日志文件,写满第一个日志后,开始写第二个,依次类推。当最后一个联机重做日志文件写满后,LGWR(Log Writer)后台进程开始重新向第一个文件写入内容。当Oracle运行在ARCHIVELOG方式时,ARCH后台进程重写重做日志文件前将每个重做日志文件做一份拷贝。8.5.1以以ARCHIVELOG方式运行数据库方式运行数据库 进行联机备份可以使用PL/SQL语句也可以使用备份向导。但都要求数据库运行在ARCHIVELOG方式下。下面说明如何进入ARCHIVELOG方式。(1)进入命令提示符操作界面C:sqlplus/nolog(2
20、)以SYSDBA身份和数据库相连SQLconnect system/manager as sysdba(3)使数据库运行在ARCHIVELOG方式下SQLshutdown immediate SQLalter database archivelog;SQLarchive log start;SQLalter database open;下面的命令将从Server Manager中显示当前数据库的ARCHIVELOG状态。archive log list8.5.2 执行数据库备份执行数据库备份1.使用命令方式进行备份使用命令方式进行备份(1)逐个表空间备份数据文件设置表空间为备份状态备份表空间的
21、数据文件将表空间恢复到正常状态。(2)备份归档重做日志文件记录归档重做日志目标目录中的文件备份归档重做日志文件有选择地删除或压缩它们通过alter database backup controlfile命令备份控制文件。2.使用备份向导进行备份使用备份向导进行备份备份向导可以用来备份数据库、数据文件、表空间和重做日志文件等各种对象。备份向导也可以制作数据文件和重做日志文件的映像副本。8.5.2 执行数据库备份执行数据库备份【例例8.4】对XSCJ数据库进行备份。(1)在如图8.1所示的界面中,选择单击“调度备份”进入“调度备份”界面,如图8.2所示。图图8.1 Oracle企业管理器企业管理器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle10g经典实战第8章 数据库备份和恢复 oracle10g 经典 实战 数据库 备份 恢复
限制150内