文档详情

Oracle第11章数据库备份与恢复

沈***
实名认证
店铺
PPTX
2.37MB
约116页
文档ID:156348060
Oracle第11章数据库备份与恢复_第1页
1/116

Oracle10g 数据库基础教程1第第11章章 数据库备份与恢复数据库备份与恢复Oracle 10g 数据库基础教程2本章内容本章内容p备份与恢复概述p物理备份与恢复p逻辑备份与恢复Oracle 10g 数据库基础教程3本章要求本章要求p了解备份与恢复的重要性和概念p掌握数据库的冷备份方法p掌握数据库的热备份方法p掌握数据库完全恢复方法p掌握数据不完全恢复方法p掌握逻辑备份和恢复方法Oracle 10g 数据库基础教程411.1 备份与恢复概述备份与恢复概述p备份与恢复的基本概念pOracle数据库故障类型及恢复措施 p备份的原则与策略p恢复的原则与策略Oracle 10g 数据库基础教程511.1.1 备份与恢复的概念备份与恢复的概念p备份与恢复的作用p备份的概念与类型p恢复的概念、类型与恢复机制Oracle 10g 数据库基础教程6(1)备份与恢复的作用)备份与恢复的作用p数据库系统在运行中可能发生故障,轻则导致事务异常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分或全部丢失p数据库备份与恢复的目的就是为了保证在各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致的状态。

Oracle 10g 数据库基础教程7(2)备份的概念与类型)备份的概念与类型p概念概念n数据库备份就是对数据库中部分或全部数据进行复制,数据库备份就是对数据库中部分或全部数据进行复制,形成副本,存放到一个相对独立的设备上,如磁盘、形成副本,存放到一个相对独立的设备上,如磁盘、磁带,以备将来数据库出现故障时使用磁带,以备将来数据库出现故障时使用p根据数据备份方式的不同,数据库备份分为:根据数据备份方式的不同,数据库备份分为:n物理备份:将组成数据库的数据文件、重做日志文件、物理备份:将组成数据库的数据文件、重做日志文件、控制文件、初始化参数文件等操作系统文件进行复制,控制文件、初始化参数文件等操作系统文件进行复制,将形成的副本保存到与当前系统独立的磁盘或磁带上将形成的副本保存到与当前系统独立的磁盘或磁带上n逻辑备份是指利用逻辑备份是指利用Oracle提供的导出工具(如提供的导出工具(如Expdp,Export)将数据库中的数据抽取出来存放)将数据库中的数据抽取出来存放到一个二进制文件中到一个二进制文件中Oracle 10g 数据库基础教程8p根据数据库备份时是否关闭数据库服务器,物理备份分为:n冷备份又称停机备份,是指在关闭数据库的情况下将冷备份又称停机备份,是指在关闭数据库的情况下将所有的数据库文件复制到另一个磁盘或磁带上去。

所有的数据库文件复制到另一个磁盘或磁带上去n热备份又称联机备份,是指在数据库运行的情况下对热备份又称联机备份,是指在数据库运行的情况下对数据库进行的备份要进行热备份,数据库必须运行数据库进行的备份要进行热备份,数据库必须运行在归档日志模式下在归档日志模式下Oracle 10g 数据库基础教程9p根据数据库备份的规模不同,物理备份可分为:n完全备份:指对整个数据库进行备份,包括所有的物完全备份:指对整个数据库进行备份,包括所有的物理文件n部分备份部分备份:对部分数据文件、表空间、控制文件、归:对部分数据文件、表空间、控制文件、归档重做日志文件等进行备份档重做日志文件等进行备份p根据数据库是否运行在归档模式,物理备份可分为:n归档备份归档备份n非归档备份非归档备份 Oracle 10g 数据库基础教程10(3)恢复的概念、类型与恢复机制)恢复的概念、类型与恢复机制p概念n数据库恢复是指在数据库发生故障时,使用数据库备份还原数据数据库恢复是指在数据库发生故障时,使用数据库备份还原数据库,使数据库恢复到无故障状态库,使数据库恢复到无故障状态p根据数据库恢复时使用的备份不同,恢复分为:n所谓的物理恢复就是,利用物理备份来恢复数据库,即利用物理所谓的物理恢复就是,利用物理备份来恢复数据库,即利用物理备份文件恢复损毁文件,是在操作系统级别上进行的。

备份文件恢复损毁文件,是在操作系统级别上进行的n逻辑恢复是指利用逻辑备份的二进制文件,使用逻辑恢复是指利用逻辑备份的二进制文件,使用Oracle提供的导提供的导入工具(如入工具(如Impdp,Import)将部分或全部信息重新导入数据)将部分或全部信息重新导入数据库,恢复损毁或丢失的数据库,恢复损毁或丢失的数据p根据数据库恢复程度的不同,恢复可分为:n完全恢复:利用备份使数据库恢复到出现故障时的状态完全恢复:利用备份使数据库恢复到出现故障时的状态n不完全恢复:利用备份使数据库恢复到出现故障时刻之前的某个不完全恢复:利用备份使数据库恢复到出现故障时刻之前的某个状态Oracle 10g 数据库基础教程11p数据库的恢复分3个步骤进行:n首先使用一个完整备份将数据库恢复到备份时刻的状首先使用一个完整备份将数据库恢复到备份时刻的状态;态;n然后利用归档日志文件和联机重做日志文件中的日志然后利用归档日志文件和联机重做日志文件中的日志信息,采用前滚技术(信息,采用前滚技术(Roll Forward)重做备份以)重做备份以后已经完成并提交的事物;后已经完成并提交的事物;n最后利用回滚技术(最后利用回滚技术(Roll Back)取消发生故障时已)取消发生故障时已写入日志文件但没有提交的事物,将数据库恢复到故写入日志文件但没有提交的事物,将数据库恢复到故障时刻的状态。

障时刻的状态Oracle 10g 数据库基础教程12p在T1和T3时刻进行了两次数据库备份,在T5时刻数据库出现故障如果使用T1 时刻的备份1恢复数据库,则只能恢复到T1时刻的状态,即不完全恢复;如果使用T3时刻的备份2恢复数据库,则可以恢复到T3时刻到T5时刻的任意状态(归档日志与联机日志)Oracle 10g 数据库基础教程1311.1.2 Oracle数据库故障类型及数据库故障类型及恢复措施恢复措施p语句故障 p进程故障 p用户错误 p实例失败 p网络故障 p介质故障 Oracle 10g 数据库基础教程14p语句故障n语句故障是指执行语句故障是指执行SQL语句时发生的故障例如,对语句时发生的故障例如,对不存在的表执行不存在的表执行SELECT操作、向已无空间可用的表操作、向已无空间可用的表中执行中执行INSERT操作等都会发生语句故障,操作等都会发生语句故障,Oracle将将返回给用户一个错误信息语句故障通常不需要返回给用户一个错误信息语句故障通常不需要DBA干预,干预,Oracle会自动回滚产生错误的会自动回滚产生错误的SQL语句操作语句操作p进程故障n进程故障是指用户进程、服务器进程或数据库后台进进程故障是指用户进程、服务器进程或数据库后台进程由于某种原因而意外终止,此时该进程将无法使用,程由于某种原因而意外终止,此时该进程将无法使用,但不影响其他进程的运行。

但不影响其他进程的运行Oracle的后台进程的后台进程PMON能够自动监测并恢复故障进程如果该进程无能够自动监测并恢复故障进程如果该进程无法恢复,则需要法恢复,则需要DBA关闭并重新启动数据库实例关闭并重新启动数据库实例Oracle 10g 数据库基础教程15p用户错误n用户错误是指用户在使用数据库时产生的错误例如,用户错误是指用户在使用数据库时产生的错误例如,用户意外删除某个表或表中的数据用户错误无法由用户意外删除某个表或表中的数据用户错误无法由Oracle自动进行恢复,管理员可以使用逻辑备份来恢自动进行恢复,管理员可以使用逻辑备份来恢复p实例失败n实例失败是指由于某种原因导致数据库实例无法正常实例失败是指由于某种原因导致数据库实例无法正常工作例如,突然断电导致数据库服务器立即关闭、工作例如,突然断电导致数据库服务器立即关闭、数据库服务器硬件故障导致操作系统无法运行等实数据库服务器硬件故障导致操作系统无法运行等实例失败时,需要进行实例重新启动,在实例重新启动例失败时,需要进行实例重新启动,在实例重新启动的过程中,数据库后台进程的过程中,数据库后台进程SMON会自动对实例进行会自动对实例进行恢复。

恢复Oracle 10g 数据库基础教程16p网络故障n网络故障是指由于通信软件或硬件故障,导致应用程网络故障是指由于通信软件或硬件故障,导致应用程序或用户与数据库服务器之间的通信中断数据库的序或用户与数据库服务器之间的通信中断数据库的后台进程后台进程PMON将自动监测并处理意外中断的用户进将自动监测并处理意外中断的用户进程和服务器进程程和服务器进程p介质故障n介质故障是指由于各种原因引起的数据库数据文件、介质故障是指由于各种原因引起的数据库数据文件、控制文件或重做日志文件的损坏,导致系统无法正常控制文件或重做日志文件的损坏,导致系统无法正常运行例如,磁盘损坏导致文件系统被破坏介质故运行例如,磁盘损坏导致文件系统被破坏介质故障是数据库备份与恢复中主要关心的故障类型,需要障是数据库备份与恢复中主要关心的故障类型,需要管理员提前做好数据库的备份,否则将导致数据库无管理员提前做好数据库的备份,否则将导致数据库无法恢复Oracle 10g 数据库基础教程1711.1.3 备份原则与策略备份原则与策略p在刚建立数据库时,应该立即进行数据库的完全备份;在刚建立数据库时,应该立即进行数据库的完全备份;p将所有的数据库备份保存在一个独立磁盘上(必须是与当将所有的数据库备份保存在一个独立磁盘上(必须是与当前数据库系统正在使用的文件不同的磁盘);前数据库系统正在使用的文件不同的磁盘);p应该保持控制文件的多路复用,且控制文件的副本应该存应该保持控制文件的多路复用,且控制文件的副本应该存放在不同磁盘控制器下的不同磁盘设备上;放在不同磁盘控制器下的不同磁盘设备上;p应该保持多个联机日志文件组,每个组中至少应该保持两应该保持多个联机日志文件组,每个组中至少应该保持两个日志成员,同一日志组的多个成员应该分散存放在不同个日志成员,同一日志组的多个成员应该分散存放在不同磁盘上;磁盘上;p至少保证两个归档重做日志文件的归档目标,不同归档目至少保证两个归档重做日志文件的归档目标,不同归档目标应该分散于不同磁盘;标应该分散于不同磁盘;p如果条件允许,尽量保证数据库运行于归档模式;如果条件允许,尽量保证数据库运行于归档模式;p根据数据库数据变化的频率情况确定数据库备份规律;根据数据库数据变化的频率情况确定数据库备份规律;Oracle 10g 数据库基础教程18p在归档模式下,当数据库结构发生变化时,如创建或删除表空间、添加数据文件、重做日志文件等,应该备份数据库的控制文件;p在非归档模式下,当数据库结构发生变化时,应该进行数据库的完全备份;p在归档模式下,对于经常使用的表空间,可以采用表空间备份方法提高备份效率;p在归档模式下,通常不需要对联机重做日志文件进行备份;p使用RESETLOGS方式打开数据库后,应该进行一个数据库的完全备份;p对于重要的表中的数据,可以采用逻辑备份方式进行备份。

Oracle 10g 数据库基础教程1911.1.4 恢复原则与策略恢复原则与策略p根据数据库介质故障原因,确定采用完全介质恢复还是不根据数据库介质故障原因,确定采用完全介质恢复还是不完全介质恢复;完全介质恢复;p如果数据库运行在非归档模式,则当介质故障发生时,只如果数据库运行在非归档模式,则当介质故障发生时,只能进行数据库的不完全恢复,将数据库恢复到最近的备份能进行数据库的不完全恢复,将数据库恢复到最近的备份时刻的状态;时刻的状态;p如果数据库运行在归档模式,则当一个或多个数据文件损如果数据库运行在归档模式,则当一个或多个数据文件损坏时,可以使用备份的数据文件进行完全或不完全恢复数坏时,可以使用备份的数据文件进行完全或不完全恢复数据库;据库;p如果数据库运行在归档模式,则当数据库的控制文件损坏如果数据库运行在归档模式,则当数据库的控制文件损坏时,可以使用备份的控制文件实现数据库的不完全恢复;时,可以使用备份的控制文件实现数据库的不完全恢复;p如果数据库运行在归档模式,则当数据库的联机日志文件如果数据库运行在归档模式,则当数据库的联机日志文件损坏时,可以使用备份的数据文件和联机重做日志文件不损坏时,可以使用备份的数据文件和联机重做日志文件不完全恢复数据库;完全恢复数据库;p如果执行了不完全恢复,则当重新打开数据库时应该使用如果执行了不完全恢复,则当重新打开数据库时应该使用RESETLOGS选项。

选项Oracle 10g 数据库基础教程2011.2 物理备份与恢复物理备份与恢复p冷备份p热备份p非归档模式下数据库的恢复 p归档模式下数据库的完全恢复 p归档模式下数据库的不完全恢复 p利用OEM进行物理备份与恢复 Oracle 10g 数据库基础教程21Oracle 10g 数据库基础教程2211.2.1 冷备份冷备份p概述概述n关闭数据库实例n用操作系统的实用工具备份所有的物理文件,包括数据文件、控制文件、联机重做日志文件等Oracle 10g 数据库基础教程23关闭数据库,关闭数据库,开始备份开始备份故障时刻故障时刻 备份备份恢复恢复 重装备份副本重装备份副本恢复丢失数据恢复丢失数据备份完成备份完成p如果没有启用归档模式,数据库不能恢复到备份完成如果没有启用归档模式,数据库不能恢复到备份完成后的任意时刻后的任意时刻p如果启用归档模式,从冷备份结束后到出现故障这段如果启用归档模式,从冷备份结束后到出现故障这段时间的数据库恢复,可以利用联机日志文件和归档日时间的数据库恢复,可以利用联机日志文件和归档日志文件实现志文件实现Oracle 10g 数据库基础教程24p冷备份步骤冷备份步骤n确定数据库各种物理文件n关闭数据库n备份所有相关的数据库物理文件 n重新启动数据库Oracle 10g 数据库基础教程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 Oracle 10g 数据库基础教程2611.2.2 热备份热备份 p数据库完全热备份的步骤:n启动启动SQLSQL*PlusPlus,以,以SYSDBASYSDBA身份登录数据库身份登录数据库 n将数据库设置为归档模式将数据库设置为归档模式 n以表空间为单位,进行数据文件备份以表空间为单位,进行数据文件备份 n备份控制文件备份控制文件 n备份其他物理文件备份其他物理文件 Oracle 10g 数据库基础教程27p备份数据文件n查看当前数据库有哪些表空间,以及每个表空间中有哪些查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件数据文件pSELECT tablespace_name,file_name FROM dba_data_files pORDER BY tablespace_name;n分别对每个表空间中的数据文件进行备份,其方法为分别对每个表空间中的数据文件进行备份,其方法为p将需要备份的表空间(如USERS)设置为备份状态。

ALTER TABLESPACE USERS BEGIN BACKUP;p将表空间中所有的数据文件复制到备份磁盘p结束表空间的备份状态ALTER TABLESPACE USERS END BACKUP;n对数据库中所有表空间分别采用该步骤进行备份对数据库中所有表空间分别采用该步骤进行备份Oracle 10g 数据库基础教程28p备份控制文件n当执行了下列操作时应该进行控制文件备份当执行了下列操作时应该进行控制文件备份pALTER DATABASE ADD LOGFILEpALERT DATABASE ADD LOGFILE MEMBERpALTER DATABASE RENAME FILE pALTER DATABASE DROP LOGFILE GROUP pALTER DATABASE DROP LOGFILE MEMBERpCREATE TABLESPACEpALTER TABLESPACE ADD DATAFILEpALTER TABLESPACE RENAME DATAFILEpDROP TABLESPACEOracle 10g 数据库基础教程29p控制文件备份方法n将控制文件备份为二进制文件。

将控制文件备份为二进制文件pALTER DATABASE BACKUP CONTROLFILE TO D:ORACLEBACKUPCONTROL.BKP;n将控制文件备份为文本文件将控制文件备份为文本文件pALTER DATABASE BACKUP CONTROLFILE TO TRACE;Oracle 10g 数据库基础教程30p其他文件的备份n归档当前的联机重做日志文件归档当前的联机重做日志文件pALTER SYSTEM ARCHIVE LOG CURRENT;n备份归档重做日志文件,将所有的归档重做日志文件备份归档重做日志文件,将所有的归档重做日志文件复制到备份磁盘中复制到备份磁盘中n备份初始化参数文件,将初始化参数文件复制到备份备份初始化参数文件,将初始化参数文件复制到备份磁盘中Oracle 10g 数据库基础教程3111.2.3 非归档模式下数据库的恢复非归档模式下数据库的恢复p非归档模式下数据库的恢复主要指利用非归档模式下的冷备份恢复数据库p步骤为:n关闭数据库关闭数据库pSHUTDOWN IMMEDIATEn将备份的所有数据文件、控制文件、联机重做日志文将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所在的位置。

件还原到原来所在的位置n重新启动数据库重新启动数据库pSTARTUPp注意n非归档模式下的数据库恢复是不完全恢复,只能将数非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近一次完全冷备份的状态据库恢复到最近一次完全冷备份的状态Oracle 10g 数据库基础教程3211.2.4 归档模式下数据库的完全恢复归档模式下数据库的完全恢复p概述p数据库级完全恢复 p表空间级完全恢复 p数据文件级完全恢复 p数据库完全恢复示例 Oracle 10g 数据库基础教程33(1)概述概述p概念n归档模式下数据库的完全恢复是指归档模式下一个或多归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损坏,利用热备份的数据文件替换损坏的数个数据文件损坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文件和联机重做日志文件,采据文件,再结合归档日志文件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动,采用回滚技术用前滚技术重做自备份以来的所有改动,采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态回滚未提交的操作,以恢复到数据库故障时刻的状态Oracle 10g 数据库基础教程34p 恢复的级别n数据库级完全恢复:主要应用于所有或多数数据文件数据库级完全恢复:主要应用于所有或多数数据文件损坏的恢复;损坏的恢复;n表空间级完全恢复:对指定表空间中的数据文件进行表空间级完全恢复:对指定表空间中的数据文件进行恢复;恢复;n数据文件级完全恢复:是针对特定的数据文件进行恢数据文件级完全恢复:是针对特定的数据文件进行恢复。

复p注意n数据库级的完全恢复只能在数据库装载但没有打开的数据库级的完全恢复只能在数据库装载但没有打开的状态下进行,而表空间级完全恢复和数据文件级完全状态下进行,而表空间级完全恢复和数据文件级完全恢复可以在数据库处于装载状态或打开的状态下进行恢复可以在数据库处于装载状态或打开的状态下进行Oracle 10g 数据库基础教程35p归档模式下数据库完全恢复的基本语法:nRECOVER AUTOMATIC FROM locationnDATABASE|TABLESPACE tspname n|DATAFILE dfnamep参数说明n AUTOMATIC:进行自动恢复进行自动恢复,不需要不需要DBA提供重提供重做日志文件名称做日志文件名称;nlocation:制定归档重做日志文件的位置默认为数制定归档重做日志文件的位置默认为数据库默认的归档路径据库默认的归档路径Oracle 10g 数据库基础教程36(2)数据库级完全恢复)数据库级完全恢复 p数据库级完全恢复的步骤:n如果数据库没有关闭,则强制关闭数据库如果数据库没有关闭,则强制关闭数据库pSHUTDOWN ABORTn利用备份的数据文件还原所有损坏的数据文件。

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

打开数据库pALTER DATABASE OPEN;Oracle 10g 数据库基础教程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 RECOVER;Oracle 10g 数据库基础教程40n 利用备份的数据文件利用备份的数据文件example01.dbf还原损坏的还原损坏的数据文件数据文件example01.dbfn 执行表空间恢复命令执行表空间恢复命令pRECOVER TABLESPACE EXAMPLE;n 将表空间联机将表空间联机pALTER TABLESPACE EXAMPLE ONLINE;n如果数据文件损坏时数据库正处于打开状态,则可以如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤(直接执行步骤(4)()(7)。

Oracle 10g 数据库基础教程41(4)数据文件级完全恢复)数据文件级完全恢复 p以数据文件D:oracleproduct10.2.0oradataorclexample01.dbf损坏为例模拟数据文件级的完全恢复n数据库处于装载状态下的恢复数据库处于装载状态下的恢复 n数据库处于打开状态下的恢复数据库处于打开状态下的恢复 Oracle 10g 数据库基础教程42p数据库处于装载状态下的恢复n如果数据库没有关闭,则强制关闭数据库如果数据库没有关闭,则强制关闭数据库pSHUTDOWN ABORTn利用备份的数据文件利用备份的数据文件example01.dbf还原损坏的数据文件还原损坏的数据文件example01.dbfn将数据库启动到将数据库启动到MOUNT状态pSTARTUP MOUNTn执行数据文件恢复命令执行数据文件恢复命令pRECOVER DATAFILE pD:ORACLEPRODUCT10.2.0ORADATAORCLpEXAMPLE01.DBF;n将数据文件联机将数据文件联机pALTER DATABASE DATAFILE pD:oracleproduct10.2.0oradataorclp EXAMPLE01.DBF ONLINEn打开数据库。

打开数据库pALTER DATABASE OPEN;Oracle 10g 数据库基础教程43p数据库处于打开状态下的恢复n如果数据库已经关闭,则将数据库启动到如果数据库已经关闭,则将数据库启动到MOUNT状态pSTARTUP MOUNTn将损坏的数据文件设置为脱机状态将损坏的数据文件设置为脱机状态pALTER DATABASE DATAFILE pD:oracleproduct10.2.0oradataorclpEXAMPLE01.DBF OFFLINE;n打开数据库打开数据库p ALTER DATABASE OPEN;n利用备份的数据文件利用备份的数据文件example01.dbf还原损坏的数据文还原损坏的数据文件件example01.dbfOracle 10g 数据库基础教程44n执行数据文件恢复命令执行数据文件恢复命令pRECOVER DATAFILE pD:oracleproduct10.2.0oradataorclEXAMPLE01.DBF;n将数据文件联机将数据文件联机pALTER DATABASE DATAFILE pD:oracleproduct10.2.0oradataorclEXAMPLE01.DBF pONLINE;n如果数据文件损坏时数据库正处于打开状态,则可以直接如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤(执行步骤(2)、()、(4)()(6)。

Oracle 10g 数据库基础教程45(5)数据库完全恢复示例)数据库完全恢复示例 p以SYSTEM表空间的数据文件D:oracleproduct10.2.0oradataorclsystem01.dbf 损坏为例演示归档模式下的完全恢复操作n首先进行一次归档模式下的数据库完整备份首先进行一次归档模式下的数据库完整备份n以以SYSDBA身份登录数据库进行下列操作身份登录数据库进行下列操作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;Oracle 10g 数据库基础教程46p删除SYSTEM表空间的数据文件D:oracleproduct10.2.0oradataorclsystem01.dbf,以模拟数据文件损坏的情形。

p用备份的数据文件D:oracleproduct10.2.0oradataorclsystem01.dbf还原损坏(本文为被删除)的数据文件p执行恢复操作由于SYSTEM表空间不能在数据库打开后进行恢复,因此只能在数据库处于装载状态时进行恢复nSTARTUP MOUNTnRECOVER DATABASE;nALTER DATABASE OPEN;nSELECT*FROM test_rec;Oracle 10g 数据库基础教程4711.2.5 归档模式下数据库的不完全恢复归档模式下数据库的不完全恢复p数据库不完全恢复概述p数据文件损坏的数据库不完全恢复的步骤p数据库不完全恢复的示例 p控制文件损坏的数据库不完全恢复 Oracle 10g 数据库基础教程48(1)数据库不完全恢复概述)数据库不完全恢复概述p概念n在归档模式下,数据库的不完全恢复主要是指归档模在归档模式下,数据库的不完全恢复主要是指归档模式下数据文件损坏后,没有将数据库恢复到故障时刻式下数据文件损坏后,没有将数据库恢复到故障时刻的状态n在进行数据库不完全恢复之前,首先确保对数据库进在进行数据库不完全恢复之前,首先确保对数据库进行了完全备份;行了完全备份;n在进行数据文件损坏的不完全恢复时必须先使用完整在进行数据文件损坏的不完全恢复时必须先使用完整的数据文件备份将数据库恢复到备份时刻的状态。

的数据文件备份将数据库恢复到备份时刻的状态n在不完全恢复后,需要使用在不完全恢复后,需要使用RESETLOGS选项打开数选项打开数据库,原来的重做日志文件被清空,新的重做日志文据库,原来的重做日志文件被清空,新的重做日志文件序列号重新从件序列号重新从1开始,因此原来的归档日志文件都不开始,因此原来的归档日志文件都不再起作用了,应该移走或删除;再起作用了,应该移走或删除;n打开数据库后,应该及时备份数据库,因为原来的备打开数据库后,应该及时备份数据库,因为原来的备份都已经无效了份都已经无效了Oracle 10g 数据库基础教程49p不完全恢复类型:n基于时间的不完全恢复:将数据库恢复到备份与故障基于时间的不完全恢复:将数据库恢复到备份与故障时刻之间的某个特定时刻时刻之间的某个特定时刻n基于撤销的不完全恢复:数据库的恢复随用户输入基于撤销的不完全恢复:数据库的恢复随用户输入CANCEL命令而中止命令而中止n基于基于SCN的不完全恢复:将数据库恢复到指定的的不完全恢复:将数据库恢复到指定的SCN值时的状态值时的状态Oracle 10g 数据库基础教程50p不完全恢复的语法为nRECOVER AUTOMATIC nFROM locationDATABASEnUNTIL TIME time|CANCEL|CHANGE scnnUSING BACKUP CONTROLFILE Oracle 10g 数据库基础教程51(2)数据文件损坏的数据库不完全恢复)数据文件损坏的数据库不完全恢复的步骤的步骤p如果数据库没有关闭,则强制关闭数据库。

nSHUTDOWN ABORTp用备份的所有数据文件还原当前数据库的所有数据文件,即将数据库的所有数据文件恢复到备份时刻的状态p将数据库启动到MOUNT状态nSTARTUP MOUNTp执行数据文件的不完全恢复命令nRECOVER DATABASE UNTIL TIME time;(基于时间恢复基于时间恢复)nRECOVER DATABASE UNTIL CANCEL;(基于撤销恢复)(基于撤销恢复)nRECOVER DATABASE UNTIL CHANGE scn;(基于(基于SCN恢复)恢复)p可以通过查询数据字典视图V$LOG_HISTORY获得时间和SCN的信息p不完全恢复完成后,使用RESETLOGS选项启动数据库nALTER DATABASE OPEN RESETLOGS;Oracle 10g 数据库基础教程52(3)数据库不完全恢复的示例)数据库不完全恢复的示例Oracle 10g 数据库基础教程53(4)控制文件损坏的数据库不完全恢复)控制文件损坏的数据库不完全恢复p如果数据库没有关闭,则强制关闭数据库nSHUTDOWN ABORTp用备份的所有数据文件和控制文件还原当前数据库的所有数据文件、控制文件,即将数据库的所有数据文件、控制文件恢复到备份时刻的状态。

p将数据库启动到MOUNT状态nSTARTUP MOUNTp执行不完全恢复命令nRECOVER 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;Oracle 10g 数据库基础教程5411.2.6 利用利用OEM进行物理备份与恢复进行物理备份与恢复p备份与恢复设置 p备份数据库 p恢复数据库 Oracle 10g 数据库基础教程55(1)备份与恢复设置)备份与恢复设置 Oracle 10g 数据库基础教程56Oracle 10g 数据库基础教程57Oracle 10g 数据库基础教程58(2)备份数据库)备份数据库Oracle 10g 数据库基础教程59Oracle 10g 数据库基础教程60Oracle 10g 数据库基础教程61Oracle 10g 数据库基础教程62Oracle 10g 数据库基础教程63(3)恢复数据库)恢复数据库Oracle 10g 数据库基础教程64Oracle 10g 数据库基础教程65Oracle 10g 数据库基础教程66Oracle 10g 数据库基础教程6711.3 逻辑备份与恢复逻辑备份与恢复 p逻辑备份与恢复概述 p使用Expdp导出数据 p使用Impdp导入数据 p使用OEM导出、导入数据 Oracle 10g 数据库基础教程6811.3.1 逻辑备份与恢复概述逻辑备份与恢复概述p逻辑备份与恢复的特点 p数据泵技术 Oracle 10g 数据库基础教程69(1)逻辑备份与恢复的特点)逻辑备份与恢复的特点p概述n逻辑备份是指利用逻辑备份是指利用Oracle提供的导出工具,将数据库提供的导出工具,将数据库中选定的记录集或数据字典的逻辑副本以二进制文件中选定的记录集或数据字典的逻辑副本以二进制文件的形式存储到操作系统中。

逻辑备份的二进制文件称的形式存储到操作系统中逻辑备份的二进制文件称为转储文件,以为转储文件,以dmp格式存储格式存储n逻辑恢复是指利用逻辑恢复是指利用Oracle提供的导入工具将逻辑备份提供的导入工具将逻辑备份形成的转储文件导入数据库内部,进行数据库的逻辑形成的转储文件导入数据库内部,进行数据库的逻辑恢复n与物理备份与恢复不同,逻辑备份与恢复必须在数据与物理备份与恢复不同,逻辑备份与恢复必须在数据库运行的状态下进行,因此当数据库发生介质损坏而库运行的状态下进行,因此当数据库发生介质损坏而无法启动时,不能利用逻辑备份恢复数据库因此,无法启动时,不能利用逻辑备份恢复数据库因此,数据库备份与恢复是以物理备份与恢复为主,逻辑备数据库备份与恢复是以物理备份与恢复为主,逻辑备份与恢复为辅的份与恢复为辅的Oracle 10g 数据库基础教程70p逻辑备份与恢复有以下特点及用途:n可以在不同版本的数据库间进行数据移植,可以从可以在不同版本的数据库间进行数据移植,可以从Oracle数据库数据库的低版本移植到高版本;的低版本移植到高版本;n可以在不同操作系统上运行的数据库间进行数据移植,例如可以可以在不同操作系统上运行的数据库间进行数据移植,例如可以从从Windows NT系统迁移到系统迁移到Unix系统等;系统等;n可以在数据库模式之间传递数据,即先将一个模式中的对象进行可以在数据库模式之间传递数据,即先将一个模式中的对象进行备份,然后再将该备份导入到数据库其他模式中;备份,然后再将该备份导入到数据库其他模式中;n数据的导出与导入与数据库物理结构没有关系,是以对象为单位数据的导出与导入与数据库物理结构没有关系,是以对象为单位进行的,这些对象在物理上可能存储于不同的文件中;进行的,这些对象在物理上可能存储于不同的文件中;n对数据库进行一次逻辑备份与恢复操作能重新组织数据,消除数对数据库进行一次逻辑备份与恢复操作能重新组织数据,消除数据库中的链接及磁盘碎片,从而使数据库的性能有较大的提高;据库中的链接及磁盘碎片,从而使数据库的性能有较大的提高;n除了进行数据的备份与恢复外,还可以进行数据库对象定义、约除了进行数据的备份与恢复外,还可以进行数据库对象定义、约束、权限等的备份与恢复。

束、权限等的备份与恢复Oracle 10g 数据库基础教程71(2)数据泵技术)数据泵技术p概述n在在Oracle 9i及其之前的数据库版本中提供了及其之前的数据库版本中提供了Export和和Import实用程序用于逻辑备份与恢复实用程序用于逻辑备份与恢复n在在Oracle 10g数据库中又推出了数据泵技术,即数据库中又推出了数据泵技术,即Data Pump Export(Expdp)和)和Data Pump Import(Impdp)实用程序用于逻辑备份与恢复实用程序用于逻辑备份与恢复n需要注意,这两类逻辑备份与恢复实用程序之间不兼需要注意,这两类逻辑备份与恢复实用程序之间不兼容使用Export备份的转储文件,不能使用备份的转储文件,不能使用Impdp进行导入;同样,使用进行导入;同样,使用Expdp备份的转储文件,也不备份的转储文件,也不能使用能使用Import工具进行导入工具进行导入Oracle 10g 数据库基础教程72p两类逻辑备份与恢复实用程序比较nExport和和Import是客户端实用程序,可以在服务器是客户端实用程序,可以在服务器端使用,也可以在客户端使用;端使用,也可以在客户端使用;nExpdp和和Impdp是服务器端实用程序,只能在数据是服务器端实用程序,只能在数据库服务器端使用。

库服务器端使用n利用利用Expdp,Impdp在服务器端多线程并行地执行在服务器端多线程并行地执行大量数据的导出与导入操作大量数据的导出与导入操作n数据泵技术具有重新启动作业的能力,即当发生数据数据泵技术具有重新启动作业的能力,即当发生数据泵作业故障时,泵作业故障时,DBA 或用户进行干预修正后,可以发或用户进行干预修正后,可以发出数据泵重新启动命令,使作业从发生故障的位置继出数据泵重新启动命令,使作业从发生故障的位置继续进行Oracle 10g 数据库基础教程73p使用数据泵技术准备工作n在使用在使用Expdp,Impdp程序之前需要创建程序之前需要创建DIRECTORY对象,对象,并将该对象的并将该对象的READ,WRITE权限授予用户例如:权限授予用户例如: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;Oracle 10g 数据库基础教程7411.3.2 使用使用Expdp导出数据导出数据pExpdp调用接口 pExpdp导出模式 pExpdp帮助及参数 pExpdp应用实例 Oracle 10g 数据库基础教程75(1)Expdp调用接口调用接口 p命令行接口(Command-Line Interface):在命令行中直接指定参数设置p参数文件接口(Parameter File Interface):将需要的参数设置放到一个文件中,在命令行中用PARFILE参数指定参数文件p交互式命令接口(Interactive-Command Interface):用户可以通过交互命令进行导出操作管理Oracle 10g 数据库基础教程76(2)Expdp导出模式导出模式 p全库导出模式(Full Export Mode):通过参数FULL指定,导出整个数据库p模式导出模式(Schema Mode):通过参数SCHEMAS指定,是默认的导出模式,导出指定模式中的所有对象p表导出模式(Table Mode):通过参数TABLES指定,导出指定模式中指定的所有表、分区及其依赖对象。

p表空间导出模式(Tablespace Mode):通过参数TABLESPACES指定,导出指定表空间中所有表及其依赖对象的定义和数据p传输表空间导出模式(Transportable Tablespace):通过参数TRANSPORT_ TABLESPACES指定,导出指定表空间中所有表及其依赖对象的定义通过该导出模式以及相应导入模式,可以实现将一个数据库表空间的数据文件复制到另一个数据库中Oracle 10g 数据库基础教程77(3)Expdp帮助及参数帮助及参数 p获取Expdp帮助信息 nC:expdp HELP=YpExpdp参数Oracle 10g 数据库基础教程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 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_schemaOracle 10g 数据库基础教程79p命令行方式导出:表空间导出模式n导出导出EXAMPLE,USERS表空间中的所有对象及其数据表空间中的所有对象及其数据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注意:当前用户不能使用传输表空间导出模式导出自己的默认表注意:当前用户不能使用传输表空间导出模式导出自己的默认表空间。

空间Oracle 10g 数据库基础教程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=exp2.dmp TABLES=emp QUERY=emp:WHERE deptno=10 AND sal2000 NOLOGFILE=Y Oracle 10g 数据库基础教程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然后在命令行中执行下列命令。

然后在命令行中执行下列命令pC:expdp scott/tiger PARFILE=d:scott.txt Oracle 10g 数据库基础教程82p交互命令方式导出 n在当前运行作业的终端中按在当前运行作业的终端中按Ctrl+C组合键,进入交互组合键,进入交互式命令状态;式命令状态;n在另一个非运行导出作业的终端中,通过导出作业名在另一个非运行导出作业的终端中,通过导出作业名称来进行导出作业的管理称来进行导出作业的管理Oracle 10g 数据库基础教程83p示例n执行一个作业执行一个作业pC:expdp scott/tiger FULL=Y DIRECTORY=dumpdir DUMPFILE=fulldb1.dmp,fulldb2.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):YOracle 10g 数据库基础教程8411.3.3 使用使用Impdp导入数据导入数据pImpdp调用接口pImpdp导入模式 pImpdp 帮助及参数 pImpdp 应用实例 Oracle 10g 数据库基础教程85(1)Impdp调用接口调用接口 p命令行接口(Command-Line Interface)p参数文件接口(Parameter File Interface)p交互式命令接口(Interactive-Command Interface)Oracle 10g 数据库基础教程86(2)Impdp导入模式导入模式p全库导入模式(Full Import Mode)p模式导入模式(Schema Mode)p表导入模式(Table Mode)p表空间导入模式(Tablespace Mode)p传输表空间导入模式(Transportable Tablespace)Oracle 10g 数据库基础教程87(3)Impdp 帮助及参数帮助及参数 p在操作系统的命令提示符窗口中输入impdp HELP=Y命令,可以查看Impdp程序的使用、关键字(参数)、交互命令等介绍。

Oracle 10g 数据库基础教程88(4)Impdp 应用实例应用实例 p命令行方式导入:表导入模式 n使用逻辑备份文件使用逻辑备份文件emp_dept.dmp恢复恢复scott模式下的模式下的emp表表和和dept表中数据表中数据nC:impdp scott/tiger DIRECTORY=dumpdir DUMPFILE=emp_dept.dmp TABLES=emp,dept NOLOGFILE=Y CONTENT=D。

下载提示
相关文档
正为您匹配相似的精品文档