oracle数据库备份与恢复_第1页
oracle数据库备份与恢复_第2页
oracle数据库备份与恢复_第3页
oracle数据库备份与恢复_第4页
oracle数据库备份与恢复_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大型数据库技术大型数据库技术南阳理工学院软件学院南阳理工学院软件学院. .数据库技术教研室数据库技术教研室20122012年年9 9月月Oracle10g管理、应用与开发第第16章章 数据库备份与恢复数据库备份与恢复2本章内容本章内容p备份与恢复概述p物理备份与恢复p逻辑备份与恢复3本章要求本章要求p了解备份与恢复的重要性和概念p掌握数据库的冷备份方法p掌握数据库的热备份方法p掌握数据库完全恢复方法p掌握数据不完全恢复方法p掌握逻辑备份和恢复方法413.1 备份与恢复概述备份与恢复概述p备份与恢复的基本概念pOracle数据库故障类型及恢复措施 p备份的原则与策略p恢复的原则与策略513.1.

2、1 备份与恢复的概念备份与恢复的概念p备份与恢复的作用p备份的概念与类型p恢复的概念、类型与恢复机制6(1)备份与恢复的作用)备份与恢复的作用p数据库系统在运行中可能发生故障,轻则导致事务异常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分或全部丢失。p数据库备份与恢复的目的就是为了保证在各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致的状态。7(2)备份的概念与类型)备份的概念与类型p概念概念n数据库备份就是对数据库中部分或全部数据进行复制,数据库备份就是对数据库中部分或全部数据进行复制,形成副本,存放到一个相对独立的设备上,如磁盘、形成副本,存放到一个相对

3、独立的设备上,如磁盘、磁带,以备将来数据库出现故障时使用。磁带,以备将来数据库出现故障时使用。 p根据数据备份方式的不同,数据库备份分为:根据数据备份方式的不同,数据库备份分为: n物理备份:将组成数据库的数据文件、重做日志文件、物理备份:将组成数据库的数据文件、重做日志文件、控制文件、初始化参数文件等操作系统文件进行复制,控制文件、初始化参数文件等操作系统文件进行复制,将形成的副本保存到与当前系统独立的磁盘或磁带上。将形成的副本保存到与当前系统独立的磁盘或磁带上。n逻辑备份是指利用逻辑备份是指利用Oracle提供的导出工具(如提供的导出工具(如Expdp,Export)将数据库中的数据抽取出

4、来存放)将数据库中的数据抽取出来存放到一个二进制文件中。到一个二进制文件中。8p根据数据库备份时是否关闭数据库服务器,物理备份分为:n冷备份又称停机备份,是指在关闭数据库的情况下将冷备份又称停机备份,是指在关闭数据库的情况下将所有的数据库文件复制到另一个磁盘或磁带上去。所有的数据库文件复制到另一个磁盘或磁带上去。n热备份又称联机备份,是指在数据库运行的情况下对热备份又称联机备份,是指在数据库运行的情况下对数据库进行的备份。要进行热备份,数据库必须运行数据库进行的备份。要进行热备份,数据库必须运行在归档日志模式下。在归档日志模式下。 9p根据数据库备份的规模不同,物理备份可分为:n完全备份:指对

5、整个数据库进行备份,包括所有的物完全备份:指对整个数据库进行备份,包括所有的物理文件。理文件。n部分备份部分备份 :对部分数据文件、表空间、控制文件、归:对部分数据文件、表空间、控制文件、归档重做日志文件等进行备份。档重做日志文件等进行备份。p根据数据库是否运行在归档模式,物理备份可分为:n归档备份归档备份n非归档备份非归档备份 10(3)恢复的概念、类型与恢复机制)恢复的概念、类型与恢复机制p概念n数据库恢复是指在数据库发生故障时,使用数据库备份还原数据数据库恢复是指在数据库发生故障时,使用数据库备份还原数据库,使数据库恢复到无故障状态。库,使数据库恢复到无故障状态。 p根据数据库恢复时使用

6、的备份不同,恢复分为:n所谓的物理恢复就是,利用物理备份来恢复数据库,即利用物理所谓的物理恢复就是,利用物理备份来恢复数据库,即利用物理备份文件恢复损毁文件,是在操作系统级别上进行的。备份文件恢复损毁文件,是在操作系统级别上进行的。n逻辑恢复是指利用逻辑备份的二进制文件,使用逻辑恢复是指利用逻辑备份的二进制文件,使用Oracle提供的导提供的导入工具(如入工具(如Impdp,Import)将部分或全部信息重新导入数据)将部分或全部信息重新导入数据库,恢复损毁或丢失的数据。库,恢复损毁或丢失的数据。p根据数据库恢复程度的不同,恢复可分为:n完全恢复:利用备份使数据库恢复到出现故障时的状态。完全恢

7、复:利用备份使数据库恢复到出现故障时的状态。n不完全恢复:利用备份使数据库恢复到出现故障时刻之前的某个不完全恢复:利用备份使数据库恢复到出现故障时刻之前的某个状态。状态。11p数据库的恢复分3个步骤进行:n首先使用一个完整备份将数据库恢复到备份时刻的状首先使用一个完整备份将数据库恢复到备份时刻的状态;态;n然后利用归档日志文件和联机重做日志文件中的日志然后利用归档日志文件和联机重做日志文件中的日志信息,采用前滚技术(信息,采用前滚技术(Roll Forward)重做备份以)重做备份以后已经完成并提交的事物;后已经完成并提交的事物;n最后利用回滚技术(最后利用回滚技术(Roll Back)取消发

8、生故障时已)取消发生故障时已写入日志文件但没有提交的事物,将数据库恢复到故写入日志文件但没有提交的事物,将数据库恢复到故障时刻的状态。障时刻的状态。 12p在T1和T3时刻进行了两次数据库备份,在T5时刻数据库出现故障。如果使用T1 时刻的备份1恢复数据库,则只能恢复到T1时刻的状态,即不完全恢复;如果使用T3时刻的备份2恢复数据库,则可以恢复到T3时刻到T5时刻的任意状态(归档日志与联机日志)。 1313.1.2 Oracle数据库故障类型及数据库故障类型及恢复措施恢复措施p语句故障 p进程故障 p用户错误 p实例失败 p网络故障 p介质故障 14p语句故障n语句故障是指执行语句故障是指执行

9、SQL语句时发生的故障。例如,对语句时发生的故障。例如,对不存在的表执行不存在的表执行SELECT操作、向已无空间可用的表操作、向已无空间可用的表中执行中执行INSERT操作等都会发生语句故障,操作等都会发生语句故障,Oracle将将返回给用户一个错误信息。语句故障通常不需要返回给用户一个错误信息。语句故障通常不需要DBA干预,干预,Oracle会自动回滚产生错误的会自动回滚产生错误的SQL语句操作。语句操作。p进程故障n进程故障是指用户进程、服务器进程或数据库后台进进程故障是指用户进程、服务器进程或数据库后台进程由于某种原因而意外终止,此时该进程将无法使用,程由于某种原因而意外终止,此时该进

10、程将无法使用,但不影响其他进程的运行。但不影响其他进程的运行。Oracle的后台进程的后台进程PMON能够自动监测并恢复故障进程。如果该进程无能够自动监测并恢复故障进程。如果该进程无法恢复,则需要法恢复,则需要DBA关闭并重新启动数据库实例。关闭并重新启动数据库实例。 15p用户错误n用户错误是指用户在使用数据库时产生的错误。例如,用户错误是指用户在使用数据库时产生的错误。例如,用户意外删除某个表或表中的数据。用户错误无法由用户意外删除某个表或表中的数据。用户错误无法由Oracle自动进行恢复,管理员可以使用逻辑备份来恢自动进行恢复,管理员可以使用逻辑备份来恢复。复。p实例失败n实例失败是指由

11、于某种原因导致数据库实例无法正常实例失败是指由于某种原因导致数据库实例无法正常工作。例如,突然断电导致数据库服务器立即关闭、工作。例如,突然断电导致数据库服务器立即关闭、数据库服务器硬件故障导致操作系统无法运行等。实数据库服务器硬件故障导致操作系统无法运行等。实例失败时,需要进行实例重新启动,在实例重新启动例失败时,需要进行实例重新启动,在实例重新启动的过程中,数据库后台进程的过程中,数据库后台进程SMON会自动对实例进行会自动对实例进行恢复。恢复。16p网络故障n网络故障是指由于通信软件或硬件故障,导致应用程网络故障是指由于通信软件或硬件故障,导致应用程序或用户与数据库服务器之间的通信中断。

12、数据库的序或用户与数据库服务器之间的通信中断。数据库的后台进程后台进程PMON将自动监测并处理意外中断的用户进将自动监测并处理意外中断的用户进程和服务器进程。程和服务器进程。p介质故障n介质故障是指由于各种原因引起的数据库数据文件、介质故障是指由于各种原因引起的数据库数据文件、控制文件或重做日志文件的损坏,导致系统无法正常控制文件或重做日志文件的损坏,导致系统无法正常运行。例如,磁盘损坏导致文件系统被破坏。介质故运行。例如,磁盘损坏导致文件系统被破坏。介质故障是数据库备份与恢复中主要关心的故障类型,需要障是数据库备份与恢复中主要关心的故障类型,需要管理员提前做好数据库的备份,否则将导致数据库无

13、管理员提前做好数据库的备份,否则将导致数据库无法恢复。法恢复。1713.1.3 备份原则与策略备份原则与策略p在刚建立数据库时,应该立即进行数据库的完全备份;在刚建立数据库时,应该立即进行数据库的完全备份;p将所有的数据库备份保存在一个独立磁盘上(必须是与当将所有的数据库备份保存在一个独立磁盘上(必须是与当前数据库系统正在使用的文件不同的磁盘);前数据库系统正在使用的文件不同的磁盘);p应该保持控制文件的多路复用,且控制文件的副本应该存应该保持控制文件的多路复用,且控制文件的副本应该存放在不同磁盘控制器下的不同磁盘设备上;放在不同磁盘控制器下的不同磁盘设备上;p应该保持多个联机日志文件组,每个

14、组中至少应该保持两应该保持多个联机日志文件组,每个组中至少应该保持两个日志成员,同一日志组的多个成员应该分散存放在不同个日志成员,同一日志组的多个成员应该分散存放在不同磁盘上;磁盘上;p至少保证两个归档重做日志文件的归档目标,不同归档目至少保证两个归档重做日志文件的归档目标,不同归档目标应该分散于不同磁盘;标应该分散于不同磁盘;p如果条件允许,尽量保证数据库运行于归档模式;如果条件允许,尽量保证数据库运行于归档模式;p根据数据库数据变化的频率情况确定数据库备份规律;根据数据库数据变化的频率情况确定数据库备份规律;18p在归档模式下,当数据库结构发生变化时,如创建或删除表空间、添加数据文件、重做

15、日志文件等,应该备份数据库的控制文件;p在非归档模式下,当数据库结构发生变化时,应该进行数据库的完全备份;p在归档模式下,对于经常使用的表空间,可以采用表空间备份方法提高备份效率;p在归档模式下,通常不需要对联机重做日志文件进行备份;p使用RESETLOGS方式打开数据库后,应该进行一个数据库的完全备份;p对于重要的表中的数据,可以采用逻辑备份方式进行备份。 1913.1.4 恢复原则与策略恢复原则与策略p根据数据库介质故障原因,确定采用完全介质恢复还是不根据数据库介质故障原因,确定采用完全介质恢复还是不完全介质恢复;完全介质恢复;p如果数据库运行在非归档模式,则当介质故障发生时,只如果数据库

16、运行在非归档模式,则当介质故障发生时,只能进行数据库的不完全恢复,将数据库恢复到最近的备份能进行数据库的不完全恢复,将数据库恢复到最近的备份时刻的状态;时刻的状态;p如果数据库运行在归档模式,则当一个或多个数据文件损如果数据库运行在归档模式,则当一个或多个数据文件损坏时,可以使用备份的数据文件进行完全或不完全恢复数坏时,可以使用备份的数据文件进行完全或不完全恢复数据库;据库;p如果数据库运行在归档模式,则当数据库的控制文件损坏如果数据库运行在归档模式,则当数据库的控制文件损坏时,可以使用备份的控制文件实现数据库的不完全恢复;时,可以使用备份的控制文件实现数据库的不完全恢复;p如果数据库运行在归

17、档模式,则当数据库的联机日志文件如果数据库运行在归档模式,则当数据库的联机日志文件损坏时,可以使用备份的数据文件和联机重做日志文件不损坏时,可以使用备份的数据文件和联机重做日志文件不完全恢复数据库;完全恢复数据库;p如果执行了不完全恢复,则当重新打开数据库时应该使用如果执行了不完全恢复,则当重新打开数据库时应该使用RESETLOGS选项。选项。2013.2 物理备份与恢复物理备份与恢复p冷备份p热备份p非归档模式下数据库的恢复 p归档模式下数据库的完全恢复 p归档模式下数据库的不完全恢复 p利用OEM进行物理备份与恢复 212213.2.1 冷备份冷备份p概述概述n关闭数据库实例。n用操作系统

18、的实用工具备份所有的物理文件,包括数据文件、控制文件、联机重做日志文件等。23关闭数据库,关闭数据库,开始备份开始备份故障时刻故障时刻 备份备份恢复恢复 重装备份副本重装备份副本恢复丢失数据恢复丢失数据备份完成备份完成p如果没有启用归档模式,数据库不能恢复到备份完成如果没有启用归档模式,数据库不能恢复到备份完成后的任意时刻。后的任意时刻。p如果启用归档模式,从冷备份结束后到出现故障这段如果启用归档模式,从冷备份结束后到出现故障这段时间的数据库恢复,可以利用联机日志文件和归档日时间的数据库恢复,可以利用联机日志文件和归档日志文件实现。志文件实现。24p冷备份步骤冷备份步骤n确定数据库各种物理文件

19、n关闭数据库n备份所有相关的数据库物理文件 n重新启动数据库25p启动SQL*Plus,以SYSDBA身份登录数据库p查询当前数据库所有数据文件、控制文件、联机重做日志文件的位置。nSELECT file_name FROM dba_data_files;nSELECT member FROM v$logfile;nSELECT value FROM v$parameter WHERE name=control_files;p关闭数据库nSHUTDOWN IMMEDIATEp复制所有数据文件、联机重做日志文件以及控制文件到备份磁盘。p重新启动数据库nSTARTUP 2613.2.2 热备份热备

20、份 p数据库完全热备份的步骤:n启动启动SQLSQL* *PlusPlus,以,以SYSDBASYSDBA身份登录数据库身份登录数据库 n将数据库设置为归档模式将数据库设置为归档模式 n以表空间为单位,进行数据文件备份以表空间为单位,进行数据文件备份 n备份控制文件备份控制文件 n备份其他物理文件备份其他物理文件 27p备份数据文件n查看当前数据库有哪些表空间,以及每个表空间中有哪些查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件。数据文件。pSELECT tablespace_name,file_name FROM dba_data_files pORDER BY tablespa

21、ce_name;n分别对每个表空间中的数据文件进行备份,其方法为分别对每个表空间中的数据文件进行备份,其方法为p将需要备份的表空间(如USERS)设置为备份状态。 ALTER TABLESPACE USERS BEGIN BACKUP;p将表空间中所有的数据文件复制到备份磁盘。p结束表空间的备份状态。 ALTER TABLESPACE USERS END BACKUP;n对数据库中所有表空间分别采用该步骤进行备份。对数据库中所有表空间分别采用该步骤进行备份。28p备份控制文件n当执行了下列操作时应该进行控制文件备份当执行了下列操作时应该进行控制文件备份pALTER DATABASE ADD L

22、OGFILEpALERT DATABASE ADD LOGFILE MEMBERpALTER DATABASE RENAME FILE pALTER DATABASE DROP LOGFILE GROUP pALTER DATABASE DROP LOGFILE MEMBERpCREATE TABLESPACEpALTER TABLESPACE ADD DATAFILEpALTER TABLESPACE RENAME DATAFILEpDROP TABLESPACE29p控制文件备份方法n将控制文件备份为二进制文件。将控制文件备份为二进制文件。pALTER DATABASE BACKUP CO

23、NTROLFILE TO D:ORACLEBACKUPCONTROL.BKP; n将控制文件备份为文本文件。将控制文件备份为文本文件。pALTER DATABASE BACKUP CONTROLFILE TO TRACE; 30p其他文件的备份n归档当前的联机重做日志文件。归档当前的联机重做日志文件。pALTER SYSTEM ARCHIVE LOG CURRENT;n备份归档重做日志文件,将所有的归档重做日志文件备份归档重做日志文件,将所有的归档重做日志文件复制到备份磁盘中。复制到备份磁盘中。n备份初始化参数文件,将初始化参数文件复制到备份备份初始化参数文件,将初始化参数文件复制到备份磁盘中

24、。磁盘中。3113.2.3 非归档模式下数据库的恢复非归档模式下数据库的恢复p非归档模式下数据库的恢复主要指利用非归档模式下的冷备份恢复数据库。p步骤为:n关闭数据库。关闭数据库。pSHUTDOWN IMMEDIATEn将备份的所有数据文件、控制文件、联机重做日志文将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所在的位置。件还原到原来所在的位置。n重新启动数据库。重新启动数据库。pSTARTUPp注意n非归档模式下的数据库恢复是不完全恢复,只能将数非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近一次完全冷备份的状态。据库恢复到最近一次完全冷备份的状态。 3213.2.4

25、 归档模式下数据库的完全恢归档模式下数据库的完全恢复复p概述p数据库级完全恢复 p表空间级完全恢复 p数据文件级完全恢复 p数据库完全恢复示例 33(1)概述概述p概念n归档模式下数据库的完全恢复是指归档模式下一个或多归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损坏,利用热备份的数据文件替换损坏的数个数据文件损坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文件和联机重做日志文件,采据文件,再结合归档日志文件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动,采用回滚技术用前滚技术重做自备份以来的所有改动,采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态

26、。回滚未提交的操作,以恢复到数据库故障时刻的状态。34p 恢复的级别n数据库级完全恢复:主要应用于所有或多数数据文件数据库级完全恢复:主要应用于所有或多数数据文件损坏的恢复;损坏的恢复;n表空间级完全恢复:对指定表空间中的数据文件进行表空间级完全恢复:对指定表空间中的数据文件进行恢复;恢复;n数据文件级完全恢复:是针对特定的数据文件进行恢数据文件级完全恢复:是针对特定的数据文件进行恢复。复。 p注意n数据库级的完全恢复只能在数据库装载但没有打开的数据库级的完全恢复只能在数据库装载但没有打开的状态下进行,而表空间级完全恢复和数据文件级完全状态下进行,而表空间级完全恢复和数据文件级完全恢复可以在数

27、据库处于装载状态或打开的状态下进行。恢复可以在数据库处于装载状态或打开的状态下进行。 35p归档模式下数据库完全恢复的基本语法:nRECOVER AUTOMATIC FROM locationnDATABASE|TABLESPACE tspname n|DATAFILE dfnamep参数说明n AUTOMATIC:进行自动恢复进行自动恢复,不需要不需要DBA提供重提供重做日志文件名称做日志文件名称;nlocation:制定归档重做日志文件的位置。默认为数制定归档重做日志文件的位置。默认为数据库默认的归档路径。据库默认的归档路径。36(2)数据库级完全恢复)数据库级完全恢复 p数据库级完全恢复

28、的步骤:n如果数据库没有关闭,则强制关闭数据库。如果数据库没有关闭,则强制关闭数据库。pSHUTDOWN ABORTn利用备份的数据文件还原所有损坏的数据文件。利用备份的数据文件还原所有损坏的数据文件。n将数据库启动到将数据库启动到MOUNTMOUNT状态。状态。pSTARTUP MOUNTn执行数据库恢复命令。执行数据库恢复命令。pRECOVER DATABASEn打开数据库。打开数据库。pALTER DATABASE OPEN; 37(3)表空间级完全恢复)表空间级完全恢复 p 以EXAMPLE表空间的数据文件example01.dbf损坏为例模拟表空级的完全恢复。n数据库处于装载状态下的

29、恢复数据库处于装载状态下的恢复 n数据库处于打开状态下的恢复数据库处于打开状态下的恢复 38p数据库处于装载状态下的恢复n如果数据库没有关闭,则强制关闭数据库。如果数据库没有关闭,则强制关闭数据库。pSHUTDOWN ABORTn利用备份的数据文件利用备份的数据文件example01.dbf还原损坏的数还原损坏的数据文件据文件example01.dbf。n将数据库启动到将数据库启动到MOUNT状态。状态。pSTARTUP MOUNTn执行表空间恢复命令。执行表空间恢复命令。pRECOVER TABLESPACE EXAMPLEn打开数据库。打开数据库。pALTER DATABASE OPEN;

30、39p数据库处于打开状态下的恢复n如果数据库已经关闭,则将数据库启动到如果数据库已经关闭,则将数据库启动到MOUNT状态。状态。pSTARTUP MOUNTn将损坏的数据文件设置为脱机状态。将损坏的数据文件设置为脱机状态。pALTER DATABASE DATAFILE pD:oracleproduct10.2.0oradataorclpEXAMPLE01.DBF OFFLINE;n打开数据库。打开数据库。p ALTER DATABASE OPEN;n将损坏的数据文件所在的表空间脱机。将损坏的数据文件所在的表空间脱机。pALTER TABLESPACE EXAMPLE OFFLINE FOR

31、RECOVER; 40n 利用备份的数据文件利用备份的数据文件example01.dbf还原损坏的还原损坏的数据文件数据文件example01.dbf。n 执行表空间恢复命令。执行表空间恢复命令。pRECOVER TABLESPACE EXAMPLE;n 将表空间联机。将表空间联机。pALTER TABLESPACE EXAMPLE ONLINE;n如果数据文件损坏时数据库正处于打开状态,则可以如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤(直接执行步骤(4)()(7)。)。41(4)数据文件级完全恢复)数据文件级完全恢复 p以数据文件D:oracleproduct10.2.0or

32、adataorclexample01.dbf损坏为例模拟数据文件级的完全恢复。 n数据库处于装载状态下的恢复数据库处于装载状态下的恢复 n数据库处于打开状态下的恢复数据库处于打开状态下的恢复 42p数据库处于装载状态下的恢复n如果数据库没有关闭,则强制关闭数据库。如果数据库没有关闭,则强制关闭数据库。pSHUTDOWN ABORTn利用备份的数据文件利用备份的数据文件example01.dbf还原损坏的数据文件还原损坏的数据文件example01.dbf。n将数据库启动到将数据库启动到MOUNT状态。状态。pSTARTUP MOUNTn执行数据文件恢复命令。执行数据文件恢复命令。pRECOVE

33、R DATAFILE pD:ORACLEPRODUCT10.2.0ORADATAORCLpEXAMPLE01.DBF;n将数据文件联机。将数据文件联机。pALTER DATABASE DATAFILE pD:oracleproduct10.2.0oradataorclp EXAMPLE01.DBF ONLINEn打开数据库。打开数据库。pALTER DATABASE OPEN;43p数据库处于打开状态下的恢复n如果数据库已经关闭,则将数据库启动到如果数据库已经关闭,则将数据库启动到MOUNT状态。状态。pSTARTUP MOUNTn将损坏的数据文件设置为脱机状态。将损坏的数据文件设置为脱机状态

34、。pALTER DATABASE DATAFILE pD:oracleproduct10.2.0oradataorclpEXAMPLE01.DBF OFFLINE;n打开数据库。打开数据库。p ALTER DATABASE OPEN;n利用备份的数据文件利用备份的数据文件example01.dbf还原损坏的数据文还原损坏的数据文件件example01.dbf。 44n执行数据文件恢复命令。执行数据文件恢复命令。pRECOVER DATAFILE pD:oracleproduct10.2.0oradataorclEXAMPLE01.DBF;n将数据文件联机。将数据文件联机。pALTER DATA

35、BASE DATAFILE pD:oracleproduct10.2.0oradataorclEXAMPLE01.DBF pONLINE;n如果数据文件损坏时数据库正处于打开状态,则可以直接如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤(执行步骤(2)、()、(4)()(6)。)。45(5)数据库完全恢复示例)数据库完全恢复示例 p以SYSTEM表空间的数据文件D:oracleproduct10.2.0oradataorclsystem01.dbf 损坏为例演示归档模式下的完全恢复操作。 n首先进行一次归档模式下的数据库完整备份。首先进行一次归档模式下的数据库完整备份。n以以SYS

36、DBA身份登录数据库进行下列操作。身份登录数据库进行下列操作。pCREATE TABLE test_rec(ID NUMBER PRIMARY KEY,NAME CHAR(20) TABLESPACE SYSTEM;pINSERT INTO test_rec VALUES(1,ZHANGSAN);pCOMMIT;pINSERT INTO test_rec VALUES(2,LISI);pCOMMIT;pALTER SYSTEM SWITCH LOGFILE;pSELECT * FROM test_rec; pSHUTDOWN ABORT; 46p删除SYSTEM表空间的数据文件D:oracle

37、product10.2.0oradataorclsystem01.dbf,以模拟数据文件损坏的情形。p用备份的数据文件D:oracleproduct10.2.0oradataorclsystem01.dbf还原损坏(本文为被删除)的数据文件。p执行恢复操作。由于SYSTEM表空间不能在数据库打开后进行恢复,因此只能在数据库处于装载状态时进行恢复。nSTARTUP MOUNTnRECOVER DATABASE;nALTER DATABASE OPEN;nSELECT * FROM test_rec;4713.2.5 归档模式下数据库的不完全恢复归档模式下数据库的不完全恢复p数据库不完全恢复概述p

38、数据文件损坏的数据库不完全恢复的步骤p数据库不完全恢复的示例 p控制文件损坏的数据库不完全恢复 48(1)数据库不完全恢复概述)数据库不完全恢复概述p概念n在归档模式下,数据库的不完全恢复主要是指归档模在归档模式下,数据库的不完全恢复主要是指归档模式下数据文件损坏后,没有将数据库恢复到故障时刻式下数据文件损坏后,没有将数据库恢复到故障时刻的状态。的状态。n在进行数据库不完全恢复之前,首先确保对数据库进在进行数据库不完全恢复之前,首先确保对数据库进行了完全备份;行了完全备份;n在进行数据文件损坏的不完全恢复时必须先使用完整在进行数据文件损坏的不完全恢复时必须先使用完整的数据文件备份将数据库恢复到

39、备份时刻的状态。的数据文件备份将数据库恢复到备份时刻的状态。n在不完全恢复后,需要使用在不完全恢复后,需要使用RESETLOGS选项打开数选项打开数据库,原来的重做日志文件被清空,新的重做日志文据库,原来的重做日志文件被清空,新的重做日志文件序列号重新从件序列号重新从1开始,因此原来的归档日志文件都不开始,因此原来的归档日志文件都不再起作用了,应该移走或删除;再起作用了,应该移走或删除;n打开数据库后,应该及时备份数据库,因为原来的备打开数据库后,应该及时备份数据库,因为原来的备份都已经无效了。份都已经无效了。49p不完全恢复类型:n基于时间的不完全恢复:将数据库恢复到备份与故障基于时间的不完

40、全恢复:将数据库恢复到备份与故障时刻之间的某个特定时刻。时刻之间的某个特定时刻。n基于撤销的不完全恢复:数据库的恢复随用户输入基于撤销的不完全恢复:数据库的恢复随用户输入CANCEL命令而中止。命令而中止。 n基于基于SCN的不完全恢复:将数据库恢复到指定的的不完全恢复:将数据库恢复到指定的SCN值时的状态。值时的状态。 50p不完全恢复的语法为nRECOVER AUTOMATIC nFROM locationDATABASEnUNTIL TIME time|CANCEL|CHANGE scnnUSING BACKUP CONTROLFILE 51(2)数据文件损坏的数据库不完全恢复)数据文件

41、损坏的数据库不完全恢复的步骤的步骤p如果数据库没有关闭,则强制关闭数据库。nSHUTDOWN ABORTp用备份的所有数据文件还原当前数据库的所有数据文件,即将数据库的所有数据文件恢复到备份时刻的状态。p将数据库启动到MOUNT状态。nSTARTUP MOUNTp执行数据文件的不完全恢复命令。nRECOVER DATABASE UNTIL TIME time;(基于时间恢复基于时间恢复)nRECOVER DATABASE UNTIL CANCEL;(基于撤销恢复)(基于撤销恢复)nRECOVER DATABASE UNTIL CHANGE scn;(基于(基于SCN恢复)恢复)p可以通过查询数

42、据字典视图V$LOG_HISTORY获得时间和SCN的信息。p不完全恢复完成后,使用RESETLOGS选项启动数据库。nALTER DATABASE OPEN RESETLOGS; 52(3)数据库不完全恢复的示例)数据库不完全恢复的示例53(4)控制文件损坏的数据库不完全恢复)控制文件损坏的数据库不完全恢复p如果数据库没有关闭,则强制关闭数据库。nSHUTDOWN ABORTp用备份的所有数据文件和控制文件还原当前数据库的所有数据文件、控制文件,即将数据库的所有数据文件、控制文件恢复到备份时刻的状态。p将数据库启动到MOUNT状态。nSTARTUP MOUNTp执行不完全恢复命令。nRECO

43、VER DATABASE UNTIL TIME time USING BACKUP CONTROLFILE;nRECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE;nRECOVER DATABASE UNTIL CHANGE scn USING BACKUP CONTROLFILE;p不完全恢复完成后,使用RESETLOGS选项启动数据库。nALTER DATABASE OPEN RESETLOGS; 5413.2.6 利用利用OEM进行物理备份与恢复进行物理备份与恢复p备份与恢复设置 p备份数据库 p恢复数据库 55(1)备份与恢复设置

44、)备份与恢复设置 565758(2)备份数据库)备份数据库5960616263(3)恢复数据库)恢复数据库6465666713.3 逻辑备份与恢复逻辑备份与恢复 p逻辑备份与恢复概述 p使用Expdp导出数据 p使用Impdp导入数据 p使用OEM导出、导入数据 6813.3.1 逻辑备份与恢复概述逻辑备份与恢复概述p逻辑备份与恢复的特点 p数据泵技术 69(1)逻辑备份与恢复的特点)逻辑备份与恢复的特点p概述n逻辑备份是指利用逻辑备份是指利用Oracle提供的导出工具,将数据库提供的导出工具,将数据库中选定的记录集或数据字典的逻辑副本以二进制文件中选定的记录集或数据字典的逻辑副本以二进制文件

45、的形式存储到操作系统中。逻辑备份的二进制文件称的形式存储到操作系统中。逻辑备份的二进制文件称为转储文件,以为转储文件,以dmp格式存储。格式存储。n逻辑恢复是指利用逻辑恢复是指利用Oracle提供的导入工具将逻辑备份提供的导入工具将逻辑备份形成的转储文件导入数据库内部,进行数据库的逻辑形成的转储文件导入数据库内部,进行数据库的逻辑恢复。恢复。n与物理备份与恢复不同,逻辑备份与恢复必须在数据与物理备份与恢复不同,逻辑备份与恢复必须在数据库运行的状态下进行,因此当数据库发生介质损坏而库运行的状态下进行,因此当数据库发生介质损坏而无法启动时,不能利用逻辑备份恢复数据库。因此,无法启动时,不能利用逻辑

46、备份恢复数据库。因此,数据库备份与恢复是以物理备份与恢复为主,逻辑备数据库备份与恢复是以物理备份与恢复为主,逻辑备份与恢复为辅的。份与恢复为辅的。70p逻辑备份与恢复有以下特点及用途:n可以在不同版本的数据库间进行数据移植,可以从可以在不同版本的数据库间进行数据移植,可以从Oracle数据库数据库的低版本移植到高版本;的低版本移植到高版本;n可以在不同操作系统上运行的数据库间进行数据移植,例如可以可以在不同操作系统上运行的数据库间进行数据移植,例如可以从从Windows NT系统迁移到系统迁移到Unix系统等;系统等;n可以在数据库模式之间传递数据,即先将一个模式中的对象进行可以在数据库模式之

47、间传递数据,即先将一个模式中的对象进行备份,然后再将该备份导入到数据库其他模式中;备份,然后再将该备份导入到数据库其他模式中;n数据的导出与导入与数据库物理结构没有关系,是以对象为单位数据的导出与导入与数据库物理结构没有关系,是以对象为单位进行的,这些对象在物理上可能存储于不同的文件中;进行的,这些对象在物理上可能存储于不同的文件中;n对数据库进行一次逻辑备份与恢复操作能重新组织数据,消除数对数据库进行一次逻辑备份与恢复操作能重新组织数据,消除数据库中的链接及磁盘碎片,从而使数据库的性能有较大的提高;据库中的链接及磁盘碎片,从而使数据库的性能有较大的提高;n除了进行数据的备份与恢复外,还可以进

48、行数据库对象定义、约除了进行数据的备份与恢复外,还可以进行数据库对象定义、约束、权限等的备份与恢复。束、权限等的备份与恢复。 71(2)数据泵技术)数据泵技术p概述n在在Oracle 9i及其之前的数据库版本中提供了及其之前的数据库版本中提供了Export和和Import实用程序用于逻辑备份与恢复。实用程序用于逻辑备份与恢复。n在在Oracle 10g数据库中又推出了数据泵技术,即数据库中又推出了数据泵技术,即Data Pump Export(Expdp)和)和Data Pump Import(Impdp)实用程序用于逻辑备份与恢复。)实用程序用于逻辑备份与恢复。n需要注意,这两类逻辑备份与恢

49、复实用程序之间不兼需要注意,这两类逻辑备份与恢复实用程序之间不兼容。使用容。使用Export备份的转储文件,不能使用备份的转储文件,不能使用Impdp进行导入;同样,使用进行导入;同样,使用Expdp备份的转储文件,也不备份的转储文件,也不能使用能使用Import工具进行导入。工具进行导入。72p两类逻辑备份与恢复实用程序比较nExport和和Import是客户端实用程序,可以在服务器是客户端实用程序,可以在服务器端使用,也可以在客户端使用;端使用,也可以在客户端使用;nExpdp和和Impdp是服务器端实用程序,只能在数据是服务器端实用程序,只能在数据库服务器端使用。库服务器端使用。n利用利

50、用Expdp,Impdp在服务器端多线程并行地执行在服务器端多线程并行地执行大量数据的导出与导入操作。大量数据的导出与导入操作。n数据泵技术具有重新启动作业的能力,即当发生数据数据泵技术具有重新启动作业的能力,即当发生数据泵作业故障时,泵作业故障时,DBA 或用户进行干预修正后,可以发或用户进行干预修正后,可以发出数据泵重新启动命令,使作业从发生故障的位置继出数据泵重新启动命令,使作业从发生故障的位置继续进行。续进行。73p使用数据泵技术准备工作n在使用在使用Expdp,Impdp程序之前需要创建程序之前需要创建DIRECTORY对象,对象,并将该对象的并将该对象的READ,WRITE权限授予

51、用户。例如:权限授予用户。例如: pCREATE OR REPLACE DIRECTORY dumpdir AS D:ORACLEBACKUP;pGRANT READ,WRITE ON DIRECTORY dumpdir TO SCOTT;n如果用户要导出或导入非同名模式的对象,还需要具有如果用户要导出或导入非同名模式的对象,还需要具有EXP_FULL_DATABASE和和IMP_FULL_DATABASE权限。权限。例如:例如: pGRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO SCOTT; 7413.3.2 使用使用Expdp导出数据导出数据pE

52、xpdp调用接口 pExpdp导出模式 pExpdp帮助及参数 pExpdp应用实例 75(1)Expdp调用接口调用接口 p命令行接口(Command-Line Interface):在命令行中直接指定参数设置。p参数文件接口(Parameter File Interface):将需要的参数设置放到一个文件中,在命令行中用PARFILE参数指定参数文件。p交互式命令接口(Interactive-Command Interface):用户可以通过交互命令进行导出操作管理。76(2)Expdp导出模式导出模式 p全库导出模式(Full Export Mode):通过参数FULL指定,导出整个数据

53、库。p模式导出模式(Schema Mode):通过参数SCHEMAS指定,是默认的导出模式,导出指定模式中的所有对象。p表导出模式(Table Mode):通过参数TABLES指定,导出指定模式中指定的所有表、分区及其依赖对象。p表空间导出模式(Tablespace Mode):通过参数TABLESPACES指定,导出指定表空间中所有表及其依赖对象的定义和数据。p传输表空间导出模式(Transportable Tablespace):通过参数TRANSPORT_ TABLESPACES指定,导出指定表空间中所有表及其依赖对象的定义。通过该导出模式以及相应导入模式,可以实现将一个数据库表空间的数

54、据文件复制到另一个数据库中。 77(3)Expdp帮助及参数帮助及参数 p获取Expdp帮助信息 nC:expdp HELP=YpExpdp参数78(4)Expdp应用实例应用实例 p命令行方式导出:表导出模式n导出导出scott模式下的模式下的emp表和表和dept表,转储文件名称为表,转储文件名称为emp_dept.dmp,日志文件命名为,日志文件命名为emp_dept.log,作业命名为,作业命名为emp_dept_job,导出操作启动,导出操作启动3个进程。个进程。nC:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=emp_dept.dmp

55、TABLES=emp,dept LOGFILE=emp_dept.log JOB_NAME=emp_dept_job PARALLEL=3p命令行方式导出:模式导出模式。n导出导出scott模式下的所有对象及其数据。模式下的所有对象及其数据。 nC:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=scott.dmp LOGFILE=scott.log SCHEMAS=scott JOB_NAME=exp_scott_schema79p命令行方式导出:表空间导出模式。n导出导出EXAMPLE,USERS表空间中的所有对象及其数据。表空间中的所有对象及其数

56、据。nC:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=tsp.dmp TABLESPACES=example,users p命令行方式导出:传输表空间导出模式 n导出导出EXAMPLE,USERS表空间中数据对象的定义信息。表空间中数据对象的定义信息。nC:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=tts.dmp TRANSPORT_TABLESPACES=example,users TRANSPORT_FULL_CHECK=Y LOGFILE=tts.logn注意:当前用户不能使用传输表空间导出模式

57、导出自己的默认表注意:当前用户不能使用传输表空间导出模式导出自己的默认表空间。空间。80p命令行方式导出:数据库导出模式 n将当前数据全部导出,不写日志文件。将当前数据全部导出,不写日志文件。nC:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=expfull.dmp FULL=Y NOLOGFILE=Y p命令行方式导出:按条件查询导出n导出导出scott.emp表中部门号大于表中部门号大于10,且工资大于,且工资大于2000的员工信息。的员工信息。nC:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=exp

58、2.dmp TABLES=emp QUERY=emp:WHERE deptno=10 AND sal2000 NOLOGFILE=Y 81p参数文件方式导出n首先创建一个名为首先创建一个名为scott.txt的参数文件,并存放到的参数文件,并存放到d:backup目录下,其内容为:目录下,其内容为:pSCHEMAS=scottpDUMPFILE=filter.dmp pDIRECTORY=dumpdir pLOGFILE=filter.log pINCLUDE=TABLE:IN (EMP, DEPT) pINCLUDE=INDEX:LIKE EMP% pINCLUDE=PROCEDUREn然后

59、在命令行中执行下列命令。然后在命令行中执行下列命令。pC:expdp scott/tiger PARFILE=d:scott.txt 82p交互命令方式导出 n在当前运行作业的终端中按在当前运行作业的终端中按Ctrl+C组合键,进入交互组合键,进入交互式命令状态;式命令状态;n在另一个非运行导出作业的终端中,通过导出作业名在另一个非运行导出作业的终端中,通过导出作业名称来进行导出作业的管理。称来进行导出作业的管理。83p示例n执行一个作业。执行一个作业。pC:expdp scott/tiger FULL=Y DIRECTORY=dumpdir DUMPFILE=fulldb1.dmp,full

60、db2.dmp FILESIZE=2G PARALLEL=3 LOGFILE=expfull.log JOB_NAME=expfulln作业开始执行后,按作业开始执行后,按Ctrl+C组合键。组合键。n在交互模式中输入导出作业的管理命令,根据提示进在交互模式中输入导出作业的管理命令,根据提示进行操作。行操作。p ExportSTOP_JOB=IMMEDIATE Are you sure you wish to stop this job (Y/N): Y8413.3.3 使用使用Impdp导入数据导入数据pImpdp调用接口pImpdp导入模式 pImpdp 帮助及参数 pImpdp 应用实例

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论