Oracle应用教程数据库备份与恢复_第1页
Oracle应用教程数据库备份与恢复_第2页
Oracle应用教程数据库备份与恢复_第3页
Oracle应用教程数据库备份与恢复_第4页
Oracle应用教程数据库备份与恢复_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

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

文档简介

第16章数据库备份与恢复1本章内容16.1项目导入——规划人力资源管理系统数据库备份与恢复16.2备份与恢复概述16.3物理备份与恢复16.4逻辑备份与恢复2本章要求了解备份与恢复的重要性和概念掌握数据库的冷备份方法掌握数据库的热备份方法掌握数据库完全恢复方法掌握数据不完全恢复方法掌握逻辑备份和恢复方法316.1项目导入——规划人力资源管理系统数据库备份与恢复为了保证人力资源管理系统数据的可恢复性,需要完成下列工作:制定人力资源管理系统数据库备份策略与恢复策略。将人力资源管理系统数据库设置为归档模式。合理设置人力资源管理系统数据库归档路径。进行一次人力资源管理系统数据库的完整备份。对重要表中数据进行逻辑备份。416.2备份与恢复概述备份与恢复的基本概念Oracle数据库故障类型及恢复措施备份的原则与策略恢复的原则与策略516.2.1备份与恢复的概念备份与恢复的作用备份的概念与类型恢复的概念、类型与恢复机制6(1)备份与恢复的作用数据库系统在运行中可能发生故障,轻则导致事务异常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分或全部丢失。数据库备份与恢复的目的就是为了保证在各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致的状态。7(2)备份的概念与类型概念数据库备份就是对数据库中部分或全部数据进行复制,形成副本,存放到一个相对独立的设备上,如磁盘、磁带,以备将来数据库出现故障时使用。根据数据备份方式的不同,数据库备份分为:

物理备份:将组成数据库的数据文件、重做日志文件、控制文件、初始化参数文件等操作系统文件进行复制,将形成的副本保存到与当前系统独立的磁盘或磁带上。逻辑备份是指利用Oracle提供的导出工具(如Expdp,Export)将数据库中的数据抽取出来存放到一个二进制文件中。8根据数据库备份时是否关闭数据库服务器,物理备份分为:冷备份又称停机备份,是指在关闭数据库的情况下将所有的数据库文件复制到另一个磁盘或磁带上去。热备份又称联机备份,是指在数据库运行的情况下对数据库进行的备份。要进行热备份,数据库必须运行在归档日志模式下。9根据数据库备份的规模不同,物理备份可分为:完全备份:指对整个数据库进行备份,包括所有的物理文件。部分备份:对部分数据文件、表空间、控制文件、归档重做日志文件等进行备份。根据数据库是否运行在归档模式,物理备份可分为:归档备份非归档备份10(3)恢恢复的概概念、类类型与恢恢复机制制概念数据库恢恢复是指指在数据据库发生生故障时时,使用用数据库库备份还还原数据据库,使使数据库库恢复到到无故障障状态。。根据数据据库恢复复时使用用的备份份不同,,恢复分分为:所谓的物物理恢复复就是,,利用物物理备份份来恢复复数据库库,即利利用物理理备份文文件恢复复损毁文文件,是是在操作作系统级级别上进进行的。。逻辑恢复复是指利利用逻辑辑备份的的二进制制文件,,使用Oracle提提供的导导入工具具(如Impdp,Import))将部分分或全部部信息重重新导入入数据库库,恢复复损毁或或丢失的的数据。。根据数据据库恢复复程度的的不同,,恢复可可分为::完全恢复复:利用用备份使使数据库库恢复到到出现故故障时的的状态。。不完全恢恢复:利利用备份份使数据据库恢复复到出现现故障时时刻之前前的某个个状态。。11数据库的的恢复分分3个步步骤进行行:首先使用用一个完完整备份份将数据据库恢复复到备份份时刻的的状态;;然后利用用归档日日志文件件和联机机重做日日志文件件中的日日志信息息,采用用前滚技技术(RollForward))重做备备份以后后已经完完成并提提交的事事物;最后利用用回滚技技术(RollBack))取消发发生故障障时已写写入日志志文件但但没有提提交的事事物,将将数据库库恢复到到故障时时刻的状状态。12在T1和和T3时时刻进行行了两次次数据库库备份,,在T5时刻数数据库出出现故障障。如果果使用T1时时刻的备备份1恢恢复数据据库,则则只能恢恢复到T1时刻刻的状态态,即不不完全恢恢复;如如果使用用T3时时刻的备备份2恢恢复数据据库,则则可以恢恢复到T3时刻刻到T5时刻的的任意状状态(归归档日志志与联机机日志))。1316.2.2Oracle数据据库故障障类型及及

恢复复措施语句故障障进程故障障用户错误误实例失败败网络故障障介质故障障14语句故障障语句故障障是指执执行SQL语句句时发生生的故障障。例如如,对不不存在的的表执行行SELECT操作、、向已无无空间可可用的表表中执行行INSERT操作等等都会发发生语句句故障,,Oracle将返回回给用户户一个错错误信息息。语句句故障通通常不需需要DBA干预预,Oracle会自自动回滚滚产生错错误的SQL语语句操作作。进程故障障进程故障障是指用用户进程程、服务务器进程程或数据据库后台台进程由由于某种种原因而而意外终终止,此此时该进进程将无无法使用用,但不不影响其其他进程程的运行行。Oracle的后后台进程程PMON能够够自动监监测并恢恢复故障障进程。。如果该该进程无无法恢复复,则需需要DBA关闭闭并重新新启动数数据库实实例。15用户错误误用户错误误是指用用户在使使用数据据库时产产生的错错误。例例如,用用户意外外删除某某个表或或表中的的数据。。用户错错误无法法由Oracle自动动进行恢恢复,管管理员可可以使用用逻辑备备份来恢恢复。实例失败败实例失败败是指由由于某种种原因导导致数据据库实例例无法正正常工作作。例如如,突然然断电导导致数据据库服务务器立即即关闭、、数据库库服务器器硬件故故障导致致操作系系统无法法运行等等。实例例失败时时,需要要进行实实例重新新启动,,在实例例重新启启动的过过程中,,数据库库后台进进程SMON会会自动对对实例进进行恢复复。16网络故障障网络故障障是指由由于通信信软件或或硬件故故障,导导致应用用程序或或用户与与数据库库服务器器之间的的通信中中断。数数据库的的后台进进程PMON将将自动监监测并处处理意外外中断的的用户进进程和服服务器进进程。介质故障障介质故障障是指由由于各种种原因引引起的数数据库数数据文件件、控制制文件或或重做日日志文件件的损坏坏,导致致系统无无法正常常运行。。例如,,磁盘损损坏导致致文件系系统被破破坏。介介质故障障是数据据库备份份与恢复复中主要要关心的的故障类类型,需需要管理理员提前前做好数数据库的的备份,,否则将将导致数数据库无无法恢复复。1716.2.3备备份份原则与与策略在刚建立立数据库库时,应应该立即即进行数数据库的的完全备备份;将所有的的数据库库备份保保存在一一个独立立磁盘上上(必须须是与当当前数据据库系统统正在使使用的文文件不同同的磁盘盘);应该保持持控制文文件的多多路复用用,且控控制文件件的副本本应该存存放在不不同磁盘盘控制器器下的不不同磁盘盘设备上上;应该保持持多个联联机日志志文件组组,每个个组中至至少应该该保持两两个日志志成员,,同一日日志组的的多个成成员应该该分散存存放在不不同磁盘盘上;至少保证证两个归归档重做做日志文文件的归归档目标标,不同同归档目目标应该该分散于于不同磁磁盘;如果条件件允许,,尽量保保证数据据库运行行于归档档模式;;根据数据据库数据据变化的的频率情情况确定定数据库库备份规规律;18在归档模模式下,,当数据据库结构构发生变变化时,,如创建建或删除除表空间间、添加加数据文文件、重重做日志志文件等等,应该该备份数数据库的的控制文文件;在非归档档模式下下,当数数据库结结构发生生变化时时,应该该进行数数据库的的完全备备份;在归档模式下下,对于经常常使用的表空空间,可以采采用表空间备备份方法提高高备份效率;;在归档模式下下,通常不需需要对联机重重做日志文件件进行备份;;使用RESETLOGS方式打开数据据库后,应该该进行一个数数据库的完全全备份;对于重要的表表中的数据,,可以采用逻逻辑备份方式式进行备份。。1916.2.4恢复原原则与策略根据数据库介介质故障原因因,确定采用用完全介质恢恢复还是不完完全介质恢复复;如果数据库运运行在非归档档模式,则当当介质故障发发生时,只能能进行数据库库的不完全恢恢复,将数据据库恢复到最最近的备份时时刻的状态;;如果数据库运运行在归档模模式,则当一一个或多个数数据文件损坏坏时,可以使使用备份的数数据文件进行行完全或不完完全恢复数据据库;如果数据库运运行在归档模模式,则当数数据库的控制制文件损坏时时,可以使用用备份的控制制文件实现数数据库的不完完全恢复;如果数据库运运行在归档模模式,则当数数据库的联机机日志文件损损坏时,可以以使用备份的的数据文件和和联机重做日日志文件不完完全恢复数据据库;如果执行了不不完全恢复,,则当重新打打开数据库时时应该使用RESETLOGS选项。2016.3物物理备份与恢恢复冷备份热备份非归档模式下下数据库的恢恢复归档模式下数数据库的完全全恢复归档模式下数数据库的不完完全恢复利用OEM进进行物理备份份与恢复212216.3.1冷备份份概述关闭数据库实实例。用操作系统的的实用工具备备份所有的物物理文件,包包括数据文件件、控制文件件、联机重做做日志文件等等。23关闭数据库,开始备份故障时刻

备份恢复重装备份副本恢复丢失数据备份完成如果没有启用用归档模式,,数据库不能能恢复到备份份完成后的任任意时刻。如果启用归档档模式,从冷冷备份结束后后到出现故障障这段时间的的数据库恢复复,可以利用用联机日志文文件和归档日日志文件实现现。24冷备份步骤确定数据库各各种物理文件件关闭数据库备份所有相关关的数据库物物理文件重新启动数据据库25启动SQL*Plus,,以SYSDBA身份登登录数据库查询当前数据据库所有数据据文件、控制制文件、联机机重做日志文文件的位置。。SELECTfile_nameFROMdba_data_files;SELECTmemberFROMv$logfile;SELECTvalueFROMv$parameterWHEREname='control_files';关闭数据库SHUTDOWNIMMEDIATE复制所有数据据文件、联机机重做日志文文件以及控制制文件到备份份磁盘。重新启动数据据库STARTUP2616.3.2热备份数据库完全热热备份的步骤骤:启动SQL*Plus,以SYSDBA身份登录数据据库将数据库设置置为归档模式式以表空间为单单位,进行数数据文件备份份备份控制文件件备份其他物理理文件27备份数据文件件查看当前数据据库有哪些表表空间,以及及每个表空间间中有哪些数数据文件。SELECTtablespace_name,file_nameFROMdba_data_filesORDERBYtablespace_name;分别对每个表表空间中的数数据文件进行行备份,其方方法为将需要备份的的表空间(如如USERS)设置为备备份状态。ALTERTABLESPACEUSERSBEGINBACKUP;将表空间中所所有的数据文文件复制到备备份磁盘。结束表空间的的备份状态。。ALTERTABLESPACEUSERSENDBACKUP;对数据库中所所有表空间分分别采用该步步骤进行备份份。28备份控制文件件当执行了下列列操作时应该该进行控制文文件备份ALTERDATABASEADDLOGFILEALERTDATABASEADDLOGFILEMEMBERALTERDATABASERENAMEFILEALTERDATABASEDROPLOGFILEGROUPALTERDATABASEDROPLOGFILEMEMBERCREATETABLESPACEALTERTABLESPACEADDDATAFILEALTERTABLESPACERENAMEDATAFILEDROPTABLESPACE29控制文件备份份方法将控制文件备备份为二进制制文件。ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\BACKUP\CONTROL.BKP';将控制文件备备份为文本文文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;30其他文件的备备份归档当前的联联机重做日志志文件。ALTERSYSTEMARCHIVELOGCURRENT;备份归档重做做日志文件,,将所有的归归档重做日志志文件复制到到备份磁盘中中。备份初始化参参数文件,将将初始化参数数文件复制到到备份磁盘中中。3116.3.3非归档档模式下数据据库的恢复非归档模式下下数据库的恢恢复主要指利利用非归档模模式下的冷备备份恢复数据据库。步骤骤为为::关闭闭数数据据库库。。SHUTDOWNIMMEDIATE将备备份份的的所所有有数数据据文文件件、、控控制制文文件件、、联联机机重重做做日日志志文文件件还还原原到到原原来来所所在在的的位位置置。。重新新启启动动数数据据库库。。STARTUP注意意非归归档档模模式式下下的的数数据据库库恢恢复复是是不不完完全全恢恢复复,,只只能能将将数数据据库库恢恢复复到到最最近近一一次次完完全全冷冷备备份份的的状状态态。。3216.3.4归归档档模模式式下下数数据据库库的的完完全全恢恢复复概述述数据据库库级级完完全全恢恢复复表空空间间级级完完全全恢恢复复数据据文文件件级级完完全全恢恢复复数据据库库完完全全恢恢复复示示例例33(1)概述述概念念归档档模模式式下下数数据据库库的的完完全全恢恢复复是是指指归归档档模模式式下下一一个个或或多多个个数数据据文文件件损损坏坏,,利利用用热热备备份份的的数数据据文文件件替替换换损损坏坏的的数数据据文文件件,,再再结结合合归归档档日日志志文文件件和和联联机机重重做做日日志志文文件件,,采采用用前前滚滚技技术术重重做做自自备备份份以以来来的的所所有有改改动动,,采采用用回回滚滚技技术术回回滚滚未未提提交交的的操操作作,,以以恢恢复复到到数数据据库库故故障障时时刻刻的的状状态态。。34恢复复的的级级别别数据据库库级级完完全全恢恢复复::主主要要应应用用于于所所有有或或多多数数数数据据文文件件损损坏坏的的恢恢复复;;表空空间间级级完完全全恢恢复复::对对指指定定表表空空间间中中的的数数据据文文件件进进行行恢恢复复;;数据据文文件件级级完完全全恢恢复复::是是针针对对特特定定的的数数据据文文件件进进行行恢恢复复。。注意意数据据库库级级的的完完全全恢恢复复只只能能在在数数据据库库装装载载但但没没有有打打开开的的状状态态下下进进行行,,而而表表空空间间级级完完全全恢恢复复和和数数据据文文件件级级完完全全恢恢复复可可以以在在数数据据库库处处于于装装载载状状态态或或打打开开的的状状态态下下进进行行。。35归档档模模式式下下数数据据库库完完全全恢恢复复的的基基本本语语法法::RECOVER[AUTOMATIC][FROM'location'][DATABASE|TABLESPACEtspname|DATAFILEdfname]参数数说说明明AUTOMATIC::进行自动恢恢复,不需需要DBA提供重做日日志文件名名称;location:制定归档重做做日志文件的的位置。默认认为数据库默默认的归档路路径。36(2)数据库库级完全恢复复数据库级完全全恢复的步骤骤:如果数据库没没有关闭,则则强制关闭数数据库。SHUTDOWNABORT利用备份的数数据文件还原原所有损坏的的数据文件。。将数据库启动动到MOUNT状态。STARTUPMOUNT执行数据库恢恢复命令。RECOVERDATABASE打开数据库。。ALTERDATABASEOPEN;37(3)表空间间级完全恢复复以EXAMPLE表空间间的数据文件件example01.dbf损坏坏为例模拟表表空级的完全全恢复。数据库处于装装载状态下的的恢复数据库处于打打开状态下的的恢复38数据库处于装装载状态下的的恢复如果数据库没没有关闭,则则强制关闭数数据库。SHUTDOWNABORT利用备份的数数据文件example01.dbf还原损坏坏的数据文件件example01.dbf。将数据库启动动到MOUNT状态。STARTUPMOUNT执行表空间恢恢复命令。RECOVERTABLESPACEEXAMPLE打开数据库。。ALTERDATABASEOPEN;39数据库处于打打开状态下的的恢复①如果数据库库已经关闭,,则将数据库库启动到MOUNT状态态。STARTUPMOUNT②将损坏的数数据文件设置置为脱机状态态。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'OFFLINE;③打开数据库库。ALTERDATABASEOPEN;④将损坏的数数据文件所在在的表空间脱脱机。ALTERTABLESPACEEXAMPLEOFFLINEFORRECOVER;40⑤利用备份份的数据文件件example01.dbf还原原损坏的数据据文件example01.dbf。⑥执行表空空间恢复命令令。RECOVERTABLESPACEEXAMPLE;⑦将表空间间联机。ALTERTABLESPACEEXAMPLEONLINE;如果数据文件件损坏时数据据库正处于打打开状态,则则可以直接执执行步骤(4)~(7))。41(4)数据文文件级完全恢恢复以数据文件D:\oracle\product\10.2.0\oradata\orcl\example01.dbf损坏为例模模拟数据文件件级的完全恢恢复。数据库处于装装载状态下的的恢复数据库处于打打开状态下的的恢复42数据库处于装装载状态下的的恢复如果数据库没没有关闭,则则强制关闭数数据库。SHUTDOWNABORT利用备份的数数据文件example01.dbf还原损坏坏的数据文件件example01.dbf。将数据库启动动到MOUNT状态。STARTUPMOUNT执行数据文件件恢复命令。。RECOVERDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF';将数据文件联联机。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'ONLINE打开数据库。。ALTERDATABASEOPEN;43数据库处于打打开状态下的的恢复如果数据库已已经关闭,则则将数据库启启动到MOUNT状态。。STARTUPMOUNT将损坏的数据据文件设置为为脱机状态。。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'OFFLINE;打开数据库。。ALTERDATABASEOPEN;利用备份的数数据文件example01.dbf还原损坏坏的数据文件件example01.dbf。44执行数据文件件恢复命令。。RECOVERDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF';将数据文件联联机。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'ONLINE;如果数据文件件损坏时数据据库正处于打打开状态,则则可以直接执执行步骤(2)、(4))~(6)。。45(5)数据库库完全恢复示示例以SYSTEM表空间的的数据文件D:\oracle\product\10.2.0\oradata\orcl\system01.dbf损损坏为例演演示归档模式式下的完全恢恢复操作。首先进行一次次归档模式下下的数据库完完整备份。以SYSDBA身份登录录数据库进行行下列操作。。CREATETABLEtest_rec(IDNUMBERPRIMARYKEY,NAMECHAR(20))TABLESPACESYSTEM;INSERTINTOtest_recVALUES(1,'ZHANGSAN');COMMIT;INSERTINTOtest_recVALUES(2,'LISI');COMMIT;ALTERSYSTEMSWITCHLOGFILE;SELECT*FROMtest_rec;SHUTDOWNABORT;46删除SYSTEM表空间间的数据文件件D:\oracle\product\10.2.0\oradata\orcl\system01.dbf,以模拟数数据文件损坏坏的情形。用备份的数据据文件D:\oracle\product\10.2.0\oradata\orcl\system01.dbf还原损损坏(本文为为被删除)的的数据文件。。执行恢复操作作。由于SYSTEM表表空间不能在在数据库打开开后进行恢复复,因此只能能在数据库处处于装载状态态时进行恢复复。STARTUPMOUNTRECOVERDATABASE;ALTERDATABASEOPEN;SELECT*FROMtest_rec;4716.3.5归档模式下数数据库的不完完全恢复数据库不完全全恢复概述数据文件损坏坏的数据库不不完全恢复的的步骤数据库不完全全恢复的示例例控制文件损坏坏的数据库不不完全恢复48(1)数据库库不完全恢复复概述概念在归档模式下下,数据库的的不完全恢复复主要是指归归档模式下数数据文件损坏坏后,没有将将数据库恢复复到故障时刻刻的状态。在进行数据库库不完全恢复复之前,首先先确保对数据据库进行了完完全备份;在进行数据文文件损坏的不不完全恢复时时必须先使用用完整的数据据文件备份将将数据库恢复复到备份时刻刻的状态。在不完全恢复复后,需要使使用RESETLOGS选项打开数数据库,原来来的重做日志志文件被清空空,新的重做做日志文件序序列号重新从从1开始,因因此原来的归归档日志文件件都不再起作作用了,应该该移走或删除除;打开数据库后后,应该及时时备份数据库库,因为原来来的备份都已已经无效了。。49不完全恢复类类型:基于时间的不不完全恢复::将数据库恢恢复到备份与与故障时刻之之间的某个特特定时刻。基于撤销的不不完全恢复::数据库的恢恢复随用户输输入CANCEL命令而中止。。基于SCN的的不完全恢复复:将数据库库恢复到指定定的SCN值值时的状态。。50不完全恢复的的语法为RECOVER[AUTOMATIC][FROM'location'][DATABASE][UNTILTIMEtime|CANCEL|CHANGEscn][USINGBACKUPCONTROLFILE]51(2)数据文文件损坏的数数据库不完全全恢复的步骤骤如果数据库没没有关闭,则则强制关闭数数据库。SHUTDOWNABORT用备份的所有有数据文件还还原当前数据据库的所有数数据文件,即即将数据库的的所有数据文文件恢复到备备份时刻的状状态。将数据库启动动到MOUNT状态。STARTUPMOUNT执行数据文件件的不完全恢恢复命令。RECOVERDATABASEUNTILTIMEtime;(基于于时间恢复)RECOVERDATABASEUNTILCANCEL;((基于撤销恢恢复)RECOVERDATABASEUNTILCHANGEscn;(基基于SCN恢恢复)可以通过查询询数据字典视视图V$LOG_HISTORY获获得时间和SCN的信息息。不完全恢复完完成后,使用用RESETLOGS选选项启动数据据库。ALTERDATABASEOPENRESETLOGS;52(3)数据库库不完全恢复复的示例53(4)控制文文件损坏的数数据库不完全全恢复如果数据库没没有关闭,则则强制关闭数数据库。SHUTDOWNABORT用备份的所有有数据文件和和控制文件还还原当前数据据库的所有数数据文件、控控制文件,即即将数据库的的所有数据文文件、控制文文件恢复到备备份时刻的状状态。将数据库启动动到MOUNT状态。STARTUPMOUNT执行不完全恢恢复命令。RECOVERDATABASEUNTILTIMEtimeUSINGBACKUPCONTROLFILE;RECOVERDATABASEUNTILCANCELUSINGBACKUPCONTROLFILE;RECOVERDATABASEUNTILCHANGEscnUSINGBACKUPCONTROLFILE;不完全全恢复复完成成后,,使用用RESETLOGS选选项启启动数数据库库。ALTERDATABASEOPENRESETLOGS;5416.3.6利用OEM进行物物理备备份与与恢复复备份与与恢复复设置置备份数数据库库恢复数数据库库55(1)备份份与恢恢复设设置565758(2)备份份数据据库5960616263(3)恢复复数据据库6465666716.4逻逻辑备备份与与恢复复逻辑备备份与与恢复复概述述使用Expdp导出出数据据使用Impdp导入入数据据使用OEM导出出、导导入数数据6816.4.1逻逻辑备备份与与恢复复概述述逻辑备备份与与恢复复的特特点数据泵泵技术术69(1))逻辑辑备份份与恢恢复的的特点点概述逻辑备备份是是指利利用Oracle提供的的导出出工具具,将将数据据库中中选定定的记记录集集或数数据字字典的的逻辑辑副本本以二二进制制文件件的形形式存存储到到操作作系统统中。。逻辑辑备份份的二二进制制文件件称为为转储储文件件,以以dmp格式存存储。。逻辑恢恢复是是指利利用Oracle提供的的导入入工具具将逻逻辑备备份形形成的的转储储文件件导入入数据据库内内部,,进行行数据据库的的逻辑辑恢复复。与物理理备份份与恢恢复不不同,,逻辑辑备份份与恢恢复必必须在在数据据库运运行的的状态态下进进行,,因此此当数数据库库发生生介质质损坏坏而无无法启启动时时,不不能利利用逻逻辑备备份恢恢复数数据库库。因因此,,数据据库备备份与与恢复复是以以物理理备份份与恢恢复为为主,,逻辑辑备份份与恢恢复为为辅的的。70逻辑备备份与与恢复复有以以下特特点及及用途途:可以在在不同同版本本的数数据库库间进进行数数据移移植,,可以以从Oracle数数据库库的低低版本本移植植到高高版本本;可以在在不同同操作作系统统上运运行的的数据据库间间进行行数据据移植植,例例如可可以从从WindowsNT系统统迁移移到Unix系系统等等;可以在在数据据库模模式之之间传传递数数据,,即先先将一一个模模式中中的对对象进进行备备份,,然后后再将将该备备份导导入到到数据据库其其他模模式中中;数据的的导出出与导导入与与数据据库物物理结结构没没有关关系,,是以以对象象为单单位进进行的的,这这些对对象在在物理理上可可能存存储于于不同同的文文件中中;对数据据库进进行一一次逻逻辑备备份与与恢复复操作作能重重新组组织数数据,,消除除数据据库中中的链链接及及磁盘盘碎片片,从从而使使数据据库的的性能能有较较大的的提高高;除了进进行数数据的的备份份与恢恢复外外,还还可以以进行行数据据库对对象定定义、、约束束、权权限等等的备备份与与恢复复。71(2))数据据泵技技术概述在Oracle9i及其之之前的的数据据库版版本中中提供供了Export和Import实用程程序用用于逻逻辑备备份与与恢复复。在Oracle10g数据库库中又又推出出了数数据泵泵技术术,即即DataPumpExport(Expdp)和DataPumpImport(Impdp)实用用程序序用于于逻辑辑备份份与恢恢复。。需要注注意,,这两两类逻逻辑备备份与与恢复复实用用程序序之间间不兼兼容。。使用用Export备份的的转储储文件件,不不能使使用Impdp进行导导入;;同样样,使使用Expdp备份的的转储储文件件,也也不能能使用用Import工具进进行导导入。。72两类逻逻辑备备份与与恢复复实用用程序序比较较Export和Import是客户户端实实用程程序,,可以以在服服务器器端使使用,,也可可以在在客户户端使使用;;Expdp和Impdp是服务务器端端实用用程序序,只只能在在数据据库服服务器器端使使用。。利用Expdp,Impdp在服务务器端端多线线程并并行地地执行行大量量数据据的导导出与与导入入操作作。数据泵泵技术术具有有重新新启动动作业业的能能力,,即当当发生生数据据泵作作业故故障时时,DBA或用户户进行行干预预修正正后,,可以以发出出数据据泵重重新启启动命命令,,使作作业从从发生生故障障的位位置继继续进进行。。73使用数数据泵泵技术术准备备工作作在使用用Expdp,Impdp程序之之前需需要创创建DIRECTORY对象,,并将将该对对象的的READ,WRITE权限授授予用用户。。例如如:CREATEORREPLACEDIRECTORYdumpdirAS'D:\ORACLE\BACKUP';GRANTREAD,WRITEONDIRECTORYdumpdirTOSCOTT;如果用用户要要导出出或导导入非非同名名模式式的对对象,,还需需要具具有EXP_FULL_DATABASE和IMP_FULL_DATABASE权限限。。例例如如::GRANTEXP_FULL_DATABASE,IMP_FULL_DATABASETOSCOTT;7416.4.2使使用用Expdp导导出出数数据据Expdp调调用用接接口口Expdp导导出出模模式式Expdp帮帮助助及及参参数数Expdp应应用用实实例例75(1))Expdp调调用用接接口口命令令行行接接口口((Command-LineInterface))::在在命命令令行行中中直直接接指指定定参参数数设设置置。。参数数文文件件接接口口((ParameterFileInterface))::将将需需要要的的参参数数设设置置放放到到一一个个文文件件中中,,在在命命令令行行中中用用PARFILE参参数数指指定定参参数数文文件件。。交互互式式命命令令接接口口((Interactive-CommandInterface))::用用户户可可以以通通过过交交互互命命令令进进行行导导出出操操作作管管理理。。76(2)Expdp导出出模模式式全库库导导出出模模式式((FullExportMode)::通通过过参参数数FULL指定定,,导导出出整整个个数数据据库库。。模式式导导出出模模式式((SchemaMode)::通通过过参参数数SCHEMAS指定定,,是是默默认认的的导导出出模模式式,,导导出出指指定定模模式式中中的的所所有有对对象象。。表导导出出模模式式((TableMode))::通通过过参参数数TABLES指指定定,,导导出出指指定定模模式式中中指指定定的的所所有有表表、、分分区区及及其其依依赖赖对对象象。。表空空间间导导出出模模式式((TablespaceMode))::通通过过参参数数TABLESPACES指指定定,,导导出出指指定定表表空空间间中中所所有有表表及及其其依依赖赖对对象象的的定定义义和和数数据据。。传输输表表空空间间导导出出模模式式((TransportableTablespace))::通通过过参参数数TRANSPORT_TABLESPACES指指定定,,导导出出指指定定表表空空间间中中所所有有表表及及其其依依赖赖对对象象的的定定义义。。通通过过该该导导出出模模式式以以及及相相应应导导入入模模式式,,可可以以实实现现将将一一个个数数据据库库表表空空间间的的数数据据文文件件复复制制到到另另一一个个数数据据库库中中。。77(3)Expdp帮助助及及参参数数获取取Expdp帮帮助助信信息息C:\>expdpHELP=YExpdp参参数数78(4)Expdp应用用实实例例命令令行行方方式式导导出出::表表导导出出模模式式导出出scott模式式下下的的emp表和和dept表,,转转储储文文件件名名称称为为emp_dept.dmp,日日志志文文件件命命名名为为emp_dept.log,作作业业命命名名为为emp_dept_job,导导出出操操作作启启动动3个进进程程。。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=emp_dept.dmpTABLES=emp,deptLOGFILE=emp_dept.logJOB_NAME=emp_dept_jobPARALLEL=3命令行方方式导出出:模式式导出模模式。导出scott模式下的的所有对对象及其其数据。。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=scott.dmpLOGFILE=scott.logSCHEMAS=scottJOB_NAME=exp_scott_schema79命令行方方式导出出:表空空间导出出模式。。导出EXAMPLE,,USERS表表空间中中的所有有对象及及其数据据。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=tsp.dmpTABLESPACES=example,users命令行方方式导出出:传输输表空间间导出模模式导出EXAMPLE,,USERS表表空间中中数据对对象的定定义信息息。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=tts.dmpTRANSPORT_TABLESPACES=example,usersTRANSPORT_FULL_CHECK=YLOGFILE=tts.log注意:当当前用户户不能使使用传输输表空间间导出模模式导出出自己的的默认表表空间。。80命令行方方式导出出:数据据库导出出模式将当前数数据全部部导出,,不写日日志文件件。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=expfull.dmpFULL=YNOLOGFILE=Y命令行方方式导出出:按条条件查询询导出导出scott.emp表中部门门号大于于10,且工资资大于2000的员工信信息。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=exp2.dmpTABLES=empQUERY='emp:"WHEREdeptno=10ANDsal>2000"'NOLOGFILE=Y81参数文件件方式导导出首先创建建一个名名为scott.txt的参数文文件,并并存放到到d:\backup目录下,,其内容容为:SCHEMAS=scottDUMPFILE=filter.dmpDIRECTORY=dumpdirLOGFILE=filter.logINCLUDE=TABLE:"IN('EMP','DEPT')"INCLUDE=INDEX:"LIKE'EMP%'"INCLUDE=PROCEDURE然后在命命令行中中执行下下列命令令。C:\>expdpscott/tigerPARFILE=d:\scott.txt82交互命令令方式导导出在当前运运行作业业的终端端中按Ctrl+C组合键,,进入交交互式命命令状态态;在另一个个非运行行导出作作业的终终端中,,通过导导出作业业名称来来进行导导出作业业的管理理。83示例执行一个个作业。。C:\>expdpscott/tigerFULL=YDIRECTORY=dumpdirDUMPFILE=fulldb1.dmp,fulldb2.dmpFILESIZE=2GPARALLEL=3LOGFILE=expfull.logJOB_NAME=expfull作业开始始执行后后,按Ctrl+C组合键。。在交互模模式中输输入导出出作业的的管理命命令,根根据提示示进行操操作。Export>STOP_JOB=IMMEDIATEAreyousureyouwishtostopthisjob([Y]/N):Y8416.4.3使使用用Impdp导导入数据据Impdp调用用接口Impdp导入入模式Impdp帮帮助及参参数Impdp应应用实例例85(1)Impdp调用接口口命令行接接口(Command-LineInterface)参数文件件接口((ParameterFileInterface)交互式命命令接口口(Interactive-CommandInterface)86(2)Impdp导入模式式全库导入入模式((FullImportMode)模式导入入模式((SchemaMode)表导入模模式(TableMode)表空间导导入模式式(TablespaceMode)传输表空空间导入入模式((TransportableTablespace)87(3)Impdp帮助及参参数在操作系系统的命命令提示示符窗口口中输入入impdpHELP=Y命令,,可以查查看Impdp程序的的使用、、关键字字(参数数)、交交互命令令等介绍绍。88(4)Impdp应用实例例命令行方方式导入入:表表导入模模式使用逻辑辑备份文文件emp_dept.dmp恢复复

温馨提示

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

评论

0/150

提交评论