收藏 分享(赏)

第13章备份与恢复.ppt

上传人:weiwoduzun 文档编号:5673315 上传时间:2019-03-11 格式:PPT 页数:90 大小:457.02KB
下载 相关 举报
第13章备份与恢复.ppt_第1页
第1页 / 共90页
第13章备份与恢复.ppt_第2页
第2页 / 共90页
第13章备份与恢复.ppt_第3页
第3页 / 共90页
第13章备份与恢复.ppt_第4页
第4页 / 共90页
第13章备份与恢复.ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

1、第13章 备份与恢复,主要内容,备份与恢复概述 物理备份数据库 逻辑恢复数据库 利用RMAN备份与恢复数据库 逻辑备份与恢复数据库,13.1备份与恢复概述,备份与恢复的概念 Oracle数据库备份类型 Oracle数据库恢复类型,13.1.1备份与恢复的概念,备份与恢复是数据库的一对相反操作,备份是保存数据库中数据的副本,恢复是利用备份将数据库恢复到故障时刻的状态或恢复到故障时刻之前的某个一致性状态。 在Oracle数据库中,既可以由管理员手动进行备份与恢复操作,也可以利用Oracle恢复管理器(RMAN)自动进行备份与恢复操作。,Oracle数据库恢复实际包含两个过程 数据库修复(Datab

2、ase Restore):利用备份的数据库文件替换已经损坏的数据库文件,将损坏的数据库文件恢复到备份时刻的状态。该操作主要是在操作系统级别上完成的。 数据库恢复(Database Recovery):首先利用数据库的归档重做日志文件、联机重做日志文件,采用前滚技术(Roll Forward)重做备份以后所有的事务;最后利用回滚技术(Roll Back)取消发生故障时已写入重做日志文件但没有提交的事物,将数据库恢复到某个一致性状态,13.1.2 Oracle数据库备份类型,物理备份与逻辑备份 物理备份: 联机备份和脱机备份 完全备份和部分备份 一致性备份和不一致性备份,13.1.3 Oracle

3、数据库恢复类型,物理恢复与逻辑恢复 完全恢复和不完全恢复 归档模式下的恢复和非归档模式下的恢复,13.2 物理备份数据库,脱机备份 联机备份,13.2.1 冷备份,冷备份主要备份数据库所有的数据文件和控制文件。由于其它文件都比较小,为了恢复的方便,通常脱机备份时将其它文件一起备份。,利用SQL*Plus工具按下列步骤进行。 启动SQL*Plus,以SYSDBA身份登录数据库。 查询当前数据库所有数据文件、控制文件、联机重做日志文件、初始化参数文件的位置。 正常关闭数据库。 SQLSHUTDOWN IMMEDIATE 复制所有数据文件、控制文件、联机重做日志文件以及初始化参数文件等其它配置文件到

4、备份磁盘。可以直接在操作系统中使用复制、粘贴方式进行,也可以在SQL*Plus环境中使用下列形式的操作系统命令完成。 SQLHOST COPY 原文件名称 目标路径名称 重新启动数据库 SQLSTARTUP,11,13.2.2 热备份,数据库完全热备份的步骤: 启动SQL*Plus,以SYSDBA身份登录数据库 将数据库设置为归档模式 以表空间为单位,进行数据文件备份 备份控制文件 备份其他物理文件,12,备份数据文件 查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件。 SELECT tablespace_name,file_name FROM dba_data_files ORDE

5、R BY tablespace_name; 分别对每个表空间中的数据文件进行备份,其方法为 将需要备份的表空间(如USERS)设置为备份状态。 ALTER TABLESPACE USERS BEGIN BACKUP; 将表空间中所有的数据文件复制到备份磁盘。 结束表空间的备份状态。 ALTER TABLESPACE USERS END BACKUP; 对数据库中所有表空间分别采用该步骤进行备份。,13,控制文件备份方法 将控制文件备份为二进制文件。 ALTER DATABASE BACKUP CONTROLFILE TO D:ORACLEBACKUPCONTROL.BKP; 将控制文件备份为文

6、本文件。 ALTER DATABASE BACKUP CONTROLFILE TO TRACE;,14,其他文件的备份 归档当前的联机重做日志文件。 ALTER SYSTEM ARCHIVE LOG CURRENT; 备份归档重做日志文件,将所有的归档重做日志文件复制到备份磁盘中。 备份初始化参数文件,将初始化参数文件复制到备份磁盘中。,13.3 物理恢复数据库,非归档模式下数据库的恢复 归档模式下数据库的完全恢复 归档模式下数据库的不完全恢复,16,13.3.1 非归档模式下数据库的恢复,非归档模式下数据库的恢复主要指利用非归档模式下的冷备份恢复数据库。 步骤为: 关闭数据库。 SHUTDO

7、WN IMMEDIATE 将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所在的位置。 重新启动数据库。 STARTUP 注意 非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近一次完全冷备份的状态。,17,13.3.2 归档模式下数据库的完全恢复,概述 数据库级完全恢复 表空间级完全恢复 数据文件级完全恢复 数据库完全恢复示例,18,概念 归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动,采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状

8、态。,(1)概述,19,恢复的级别 数据库级完全恢复:主要应用于所有或多数数据文件损坏的恢复; 表空间级完全恢复:对指定表空间中的数据文件进行恢复; 数据文件级完全恢复:是针对特定的数据文件进行恢复。 注意 数据库级的完全恢复只能在数据库装载但没有打开的状态下进行,而表空间级完全恢复和数据文件级完全恢复可以在数据库处于装载状态或打开的状态下进行。,20,归档模式下数据库完全恢复的基本语法: RECOVER AUTOMATIC FROM location DATABASE|TABLESPACE tspname |DATAFILE dfname参数说明AUTOMATIC:进行自动恢复,不需要DBA

9、提供重做日志文件名称; location:制定归档重做日志文件的位置。默认为数据库默认的归档路径。,21,(2)数据库级完全恢复,数据库级完全恢复的步骤: 如果数据库没有关闭,则强制关闭数据库。 SHUTDOWN ABORT 利用备份的数据文件还原所有损坏的数据文件。 将数据库启动到MOUNT状态。 STARTUP MOUNT 执行数据库恢复命令。 RECOVER DATABASE 打开数据库。 ALTER DATABASE OPEN;,22,(3)表空间级完全恢复,以EXAMPLE表空间的数据文件example01.dbf损坏为例模拟表空级的完全恢复。 数据库处于装载状态下的恢复 数据库处于

10、打开状态下的恢复,23,数据库处于装载状态下的恢复 如果数据库没有关闭,则强制关闭数据库。 SHUTDOWN ABORT 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。 将数据库启动到MOUNT状态。 STARTUP MOUNT 执行表空间恢复命令。 RECOVER TABLESPACE EXAMPLE 打开数据库。 ALTER DATABASE OPEN;,24,数据库处于打开状态下的恢复 如果数据库已经关闭,则将数据库启动到MOUNT状态。 STARTUP MOUNT 将损坏的数据文件设置为脱机状态。 ALTER DATABASE DATAFIL

11、E D:APPADMINISTRATORORADATAHUMAN_RESOURCEEXAMPLE01.DBF OFFLINE; 打开数据库。ALTER DATABASE OPEN; 将损坏的数据文件所在的表空间脱机。 ALTER TABLESPACE EXAMPLE OFFLINE FOR RECOVER;,25, 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。 执行表空间恢复命令。 RECOVER TABLESPACE EXAMPLE; 将表空间联机。 ALTER TABLESPACE EXAMPLE ONLINE; 如果数据文件损坏时数据库正处于

12、打开状态,则可以直接执行步骤(4)(7)。,26,(4)数据文件级完全恢复,以数据文件D:APPADMINISTRATORORADATAHUMAN_RESOURCE example01.dbf损坏为例模拟数据文件级的完全恢复。 数据库处于装载状态下的恢复 数据库处于打开状态下的恢复,27,数据库处于装载状态下的恢复 如果数据库没有关闭,则强制关闭数据库。 SHUTDOWN ABORT 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。 将数据库启动到MOUNT状态。 STARTUP MOUNT 执行数据文件恢复命令。 RECOVER DATAFILE D

13、:APPADMINISTRATORORADATAHUMAN_RESOURCE example01.dbf; 将数据文件联机。 ALTER DATABASE DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCE example01.dbf ONLINE 打开数据库。 ALTER DATABASE OPEN;,28,数据库处于打开状态下的恢复 如果数据库已经关闭,则将数据库启动到MOUNT状态。 STARTUP MOUNT 将损坏的数据文件设置为脱机状态。 ALTER DATABASE DATAFILE D:APPADMINISTRATORORADATA

14、HUMAN_RESOURCE example01.dbf OFFLINE; 打开数据库。ALTER DATABASE OPEN; 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。,29,执行数据文件恢复命令。 RECOVER DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCE example01.dbf; 将数据文件联机。 ALTER DATABASE DATAFILE D:APPADMINISTRATORORADATAHUMAN_RESOURCE example01.dbf ONLINE; 如果数据文件损

15、坏时数据库正处于打开状态,则可以直接执行步骤(2)、(4)(6)。,30,(5)数据库完全恢复示例,以SYSTEM表空间的数据文件system01.dbf 损坏为例演示归档模式下的完全恢复操作。 首先进行一次归档模式下的数据库完整备份。 以SYSDBA身份登录数据库进行下列操作。 CREATE TABLE test_rec(ID NUMBER PRIMARY KEY,NAME CHAR(20) TABLESPACE SYSTEM; INSERT INTO test_rec VALUES(1,ZHANGSAN); COMMIT; INSERT INTO test_rec VALUES(2,LIS

16、I); COMMIT; ALTER SYSTEM SWITCH LOGFILE; SELECT * FROM test_rec; SHUTDOWN ABORT;,31,删除SYSTEM表空间的数据文件system01.dbf,以模拟数据文件损坏的情形。 用备份的数据文件还原损坏(本文为被删除)的数据文件。 执行恢复操作。由于SYSTEM表空间不能在数据库打开后进行恢复,因此只能在数据库处于装载状态时进行恢复。 STARTUP MOUNT RECOVER DATABASE; ALTER DATABASE OPEN; SELECT * FROM test_rec;,32,13.3.3 归档模式下数

17、据库的不完全恢复,数据库不完全恢复概述 数据文件损坏的数据库不完全恢复的步骤 数据库不完全恢复的示例 控制文件损坏的数据库不完全恢复,33,(1)数据库不完全恢复概述,在归档模式下,数据库的不完全恢复主要是指归档模式下数据文件损坏后,没有将数据库恢复到故障时刻的状态。 在进行数据库不完全恢复之前,首先确保对数据库进行了完全备份; 在进行数据文件损坏的不完全恢复时必须先使用完整的数据文件备份将数据库恢复到备份时刻的状态。 在不完全恢复后,需要使用RESETLOGS选项打开数据库,原来的重做日志文件被清空,新的重做日志文件序列号重新从1开始原来的归档日志文件都不再起作用了。,34,不完全恢复类型:

18、 基于时间的不完全恢复:将数据库恢复到备份与故障时刻之间的某个特定时刻。 基于撤销的不完全恢复:数据库的恢复随用户输入CANCEL命令而中止。 基于SCN的不完全恢复:将数据库恢复到指定的SCN值时的状态。,35,不完全恢复的语法为 RECOVER AUTOMATIC FROM locationDATABASE UNTIL TIME time|CANCEL|CHANGE scn USING BACKUP CONTROLFILE,36,(2)数据文件损坏的数据库不完全恢复的步骤,如果数据库没有关闭,则强制关闭数据库。 SHUTDOWN ABORT 用备份的所有数据文件还原当前数据库的所有数据文件

19、,即将数据库的所有数据文件恢复到备份时刻的状态。 将数据库启动到MOUNT状态。 STARTUP MOUNT 执行数据文件的不完全恢复命令。 RECOVER DATABASE UNTIL TIME time;(基于时间恢复) RECOVER DATABASE UNTIL CANCEL;(基于撤销恢复) RECOVER DATABASE UNTIL CHANGE scn;(基于SCN恢复) 可以通过查询数据字典视图V$LOG_HISTORY获得时间和SCN的信息。 不完全恢复完成后,使用RESETLOGS选项启动数据库。 ALTER DATABASE OPEN RESETLOGS;,37,(3)

20、数据库不完全恢复的示例,38,(4)控制文件损坏的数据库不完全恢复,如果数据库没有关闭,则强制关闭数据库。 SHUTDOWN ABORT 用备份的所有数据文件和控制文件还原当前数据库的所有数据文件、控制文件,即将数据库的所有数据文件、控制文件恢复到备份时刻的状态。 将数据库启动到MOUNT状态。 STARTUP MOUNT 执行不完全恢复命令。 RECOVER DATABASE UNTIL TIME time USING BACKUP CONTROLFILE; RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE; RECOVER DAT

21、ABASE UNTIL CHANGE scn USING BACKUP CONTROLFILE; 不完全恢复完成后,使用RESETLOGS选项启动数据库。 ALTER DATABASE OPEN RESETLOGS;,13.4利用RMAN备份与恢复数据库,RMAN介绍 RMAN基本操作 RMAN备份与恢复概述 利用RMAN备份数据库 利用RMAN恢复数据库,39,13.4.1RMAN介绍,RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(Backup)、还原(Restore)和恢复(Recover)于一体的Oracle数据库备份与恢复工具。,40,41

22、,RMAN命令执行器:用于对目标数据库进行备份与恢复操作管理的客户端应用程序。 目标数据库:利用RMAN进行备份与恢复操作的数据库。 RMAN资料档案库:存储进行数据库备份、修复以及恢复操作时需要的管理信息和数据。 RMAN恢复目录:建立在恢复目录数据库中的存储对象,存储RMAN资料档案库信息。 RMAN恢复目录数据库:用于保存RMAN恢复目录的数据库,是一个独立于目标数据库的Oracle数据库。,42,13.4.2RMAN基本操作,连接数据库 创建恢复目录 注册数据库 通道分配,(1)连接数据库,在操作系统命令提示符下直接连接目标数据库: RMAN TARGET user/passwordn

23、et_service_name NOCATALOG 先在命令提示符下输入RMAN启动RMAN命令执行器,然后执行下列连接命令: CONNECT TARGET|CATALOG user/passwordnet_service_name NOCATALOG,44,(2)创建恢复目录,1)创建恢复目录数据库。 2)在目录数据库中创建表空间RECOVERY_CATALOG 3)在恢复目录数据库中创建用户。例如: CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE RECOVERY_CATALOG TEMPORARY TABLESPACE TEM

24、P QUOTA 500M ON RECOVERY_CATALOG; 3)为RMAN用户授权。必须授予RECOVERY_CATALOG_OWNER系统权限。 GRANT RECOVERY_CATALOG_OWNER,CONNECT,RESOURCE TO rman;,45,4)启动RMAN,连接恢复目录数据库。 RMANCONNECT CATALOG rman/rmanORACLE 5)创建恢复目录。 RMANCREATE CATALOG TABLESPACE RECOVERY_CATALOG; 如果恢复目录不再使用,可以删除恢复目录。例如: RMANDROP CATALOG;,46,(3)注册

25、数据库,为了在恢复目录中注册数据库,需要先将RMAN连接到目标数据库和恢复目录数据库,然后执行REGISTER DATABASE语句即可。 RMANCONNECT TARGET sys/Sfd12345ORCL RMANCONNECT CATALOG rman/rmanORACLE RMANREGISTER DATABASE; RMANRESYNC CATALOG;,47,(4)通道分配,在RMAN中对目标数据库进行备份、修复、恢复操作时,必须为操作分配通道。 可以根据预定义的配置参数自动分配通道,也可以在需要时手动分配通道。,自动分配通道 RMAN中与自动分配通道相关的预定义配置参数包括:

26、CONFIGURE DEFAULT DEVICE TYPE TO disk|sbt CONFIGURE DEVICE TYPE disk|sbt PARALLELISM n CONFIGURE CHANNEL DEVICE TYPE CONFIGURE CHANNEL n DEVICE TYPE,设置自动分配通道的参数。 RMANCONFIGURE DEFAULT DEVICE TYPE TO sbt; RMANCONFIGURE DEVICE TYPE disk PARALLELISM 2; RMANCONFIGURE DEVICE TYPE disk PARALLELISM 3; RMAN

27、CONFIGURE CHANNEL 3 DEVICE TYPE disk MAXPIECESIZE=50M;,手动分配通道 使用RUN命令手动分配通道。语法为: RUN ALLOCATE CHANNEL 通道名称 DEVICE TYPE 设备类型; BACKUP 例如: RMANRUN ALLOCATE CHANNEL ch1 DEVICE TYPE disk FORMAT d:/backup/%U; BACKUP TABLESPACE users;,13.4.3RMAN备份与恢复概述,使用RMAN进行数据库备份与恢复操作时,数据库必须运行在归档模式 在RMAN中,数据库的备份形式分为镜像复制

28、和备份集两类。 使用RMAN 进行数据库恢复时只能使用之前使用RMAN生成的备份,可以实现数据库的完全恢复,也可以实现数据库的不完全恢复。,13.4.4 利用RMAN备份数据库,RMAN备份形式 BACKUP命令 备份整个数据库 备份表空间 备份数据文件 备份控制文件 备份服务器初始化参数文件 备份归档日志文件,53,RMAN备份形式 镜像复制是对数据文件、控制文件或归档重做日志文件进行精确复制。镜像复制文件大小与原文件大小完全相同,原文件中的未使用的数据块也被复制到备份文件中。一个原文件对应一个镜像复制文件。 备份集是RMAN创建的一个具有特定格式的逻辑对象,是RMAN的最小备份单元。在一个

29、备份集中可以包括一个或多个数据文件、控制文件、归档重做日志文件以及服务器初始化参数文件等。备份集只能由RMAN创建和访问,而且是唯一可以将备份存储到介质管理器的备份形式。,54,BACKUP命令的基本语法为: BACKUP backup_option backup_object PLUS ARCHIVELOG backup_object_option; 备份整个数据库 RMANBACKUP DATABASE FORMAT D:BACKUP%U.BKP; 备份表空间 可以使用BACKUP TABLESPACE命令备份一个或多个表空间。 RMANBACKUP TABLESPACE system,u

30、sers FORMAT D:BACKUP%U.BKP;,55,备份数据文件 可以备份一个或多个数据文件,可以通过数据文件名称或数据文件编号指定要备份的数据文件。 RMANBACKUP DATAFILE D:APPADMINISTRATORORADATAORCL USERS01.DBF FORMAT D:BACKUP%U;,56,备份控制文件 RMANCONFIGURE CONTROLFILE AUTOBACKUP ON; RMANCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO %F; 备份服务器初始化参数文件 RM

31、ANBACKUP SPFILE FORMAT D:BACKUP1%U;,备份归档重做日志文件 使用BACKUP ARCHIVELOG命令备份归档重做日志文件 RMANBACKUP ARCHIVELOG ALL; 使用BACKUPPLUS ARCHIVELOG命令备份归档重做日志文件 RMANBACKUP DATABASE PLUS ARCHIVELOG FORMAT D:BACKUP1%U;,58,13.4.5利用RMAN恢复数据库,RMAN恢复数据库概述 RESTORE命令 RECOVER命令 整个数据库的完全恢复 数据文件的完全恢复 表空间的完全恢复 利用RMAN进行不完全恢复,RMAN恢

32、复数据库概述 使用RMAN 进行数据库恢复时只能使用之前使用RMAN进行的备份,可以实现数据库的完全恢复,也可以实现数据库的不完全恢复。与用户管理的恢复类似,RMAN恢复也分两个步骤,首先使用RESTORE命令进行数据库的修复,然后使用RECOVER命令进行数据库的恢复。,60,利用RESTORE命令修复数据库的基本语法为: RESTORE(restore_objectrestore_spc_option)restore_option; 例如: RMANRESTROE DATABASE; RMANRESTORE CONTROLFILE FROM AUTOBACKUP; RMANRESTORE

33、DATAFILE 4; RMANRESTORE DATAFILE D:DISK2USERS01.DBF; RMANRESTORE TABLESPACE users;,61,利用RECOVER命令对修复后的数据库进行恢复操作的基本语法为: RECOVER DEVICE TYPE disk|sbt recover_object recover_option; 例如: RMANRECOVER DATABASE DELETE ARCHIVELOG; RMANRECOVER CONTROLFILE; RMANRECOVER DATAFILE 4; RMANRECOVER DATAFILE D:DISK2

34、USERS01.DBF; RMANRECOVER TABLESPACE users;,62,整个数据库的完全恢复 1)启动RMAN并连接到目标数据库。如果使用恢复目录,还需要连接到恢复目录数据库。 2)将目标数据库设置为加载状态。 RMANSHUTDOWN IMMEDIATE; RMANSTARTUP MOUNT; 3)执行数据库的修复与恢复操作。 RMANRESTORE DATABASE; RMANRECOVER DATABASE DELETE ; 4)恢复完成后,打开数据库。 RMANALTER DATABASE OPEN;,63,数据文件的完全恢复 1)启动RMAN并连接到目标数据库。如

35、果使用恢复目录,还需要连接到恢复目录数据库。 2)将损坏或丢失的数据文件设置为脱机状态。例如: RMANSQL “ALTER DATABASE DATAFILE D:APPADMINISTRATORORADATAORCL USERS01.DBF OFFLINE“; 3)对损坏或丢失的数据文件进行修复和恢复操作 RMANRESTORE DATAFILE D:APPADMINISTRATORORADATAORCLUSERS01.DBF; RMANRECOVER DATAFILE D:APPADMINISTRATORORADATAORCLUSERS01.DBF;,64,4)数据文件恢复结束后将数据文

36、件联机。例如 RMANSQL “ALTER DATABASE DATAFILE D:APPADMINISTRATORORADATAORCL USERS01.DBFONLINE“;,表空间的完全恢复 1)启动RMAN并连接到目标数据库。如果使用恢复目录,还需要连接到恢复目录数据库。 2)将损坏或丢失的数据文件所属表空间设置为脱机状态。例如: RMANSQL “ALTER TABLESPACE users OFFLINE IMMEDIATE“; 3)对表空间进行修复和恢复操作。例如: RMANRESTORE TABLESPACE users; RMANRECOVER TABLESPACE user

37、s; 4)表空间恢复结束后将表空间联机。例如: RMANSQL “ALTER TABLESPACE users ONLINE“;,66,利用RMAN进行不完全恢复 (1)启动RMAN并连接目标数据库,如果使用恢复目录,还需要连接到恢复目录数据库。 (2)将数据库设置为加载状态。 RMANSHUTDOWN IMMEDIATE; RMANSTARTUP MOUNT; (3)利用SET UNTIL命令设置恢复终止标记,然后进行数据库的修复与恢复操作。 (4)完成恢复操作后,以RESETLOGS方式打开数据库。 RMANALTER DATABASE OPEN RESETLOGS;,基于时间的不完全恢复

38、 RMANRUN SET UNTIL TIME 2013-2-11 10:00:00; RESTORE DATABASE; RECOVER DATABASE; ,基于SCN的不完全恢复 RMANRUN SET UNTIL SCN 1396202; RESTORE DATABASE; RECOVER DATABASE; ,基于日志序列号的不完全恢复 RMANRUN SET UNTIL SEQUENCE 21; RESTORE DATABASE; RECOVER DATABASE; ,13.5 逻辑备份与恢复数据库,逻辑备份与恢复概述 使用EXPDP导出数据 使用IMPDP导入数据,13.5.1

39、逻辑备份与恢复概述,逻辑备份是指利用Oracle提供的导出工具,将数据库中选定的记录集或数据字典的逻辑副本以二进制文件的形式存储到操作系统中。逻辑备份的二进制文件称为转储文件,以dmp格式存储。 逻辑恢复是指利用Oracle提供的导入工具将逻辑备份形成的转储文件导入数据库内部,进行数据库的逻辑恢复。 逻辑备份与恢复必须在数据库运行的状态下进行。因此,数据库备份与恢复是以物理备份与恢复为主,逻辑备份与恢复为辅的。,在Oracle 9i及其之前的数据库版本中提供了Export和Import实用程序用于逻辑备份与恢复。 在Oracle 11g数据库中又推出了数据泵技术,即Data Pump Expo

40、rt(Expdp)和Data Pump Import(Impdp)实用程序用于逻辑备份与恢复。 需要注意,这两类逻辑备份与恢复实用程序之间不兼容。使用Export备份的转储文件,不能使用Impdp进行导入;同样,使用Expdp备份的转储文件,也不能使用Import工具进行导入。,使用EXPDP、IMPDP程序之前需要创建DIRECTORY对象,并将该对象的READ、WRITE权限授予用户。 CREATE OR REPLACE DIRECTORY dumpdir AS D:ORACLEBACKUP; GRANT READ,WRITE ON DIRECTORY dumpdir TO ehr; 如果

41、用户要导出或导入非同名模式的对象,还需要具有EXP_FULL_DATABASE和IMP_FULL_DATABASE权限 GRANT EXP_FULL_DATABASE,IMP_FULL_DATABASE TO ehr;,13.5.2 使用EXPDP导出数据,EXPDP导出概述 EXPDP参数介绍 EXPDP导出实例,(1)EXPDP导出概述,EXPDP将数据库中的元数据与行数据导出到操作系统的转储文件中。 EXPDP工具的执行方式: 命令行方式:在命令行中直接指定参数设置; 参数文件方式:将参数设置存放到一个参数文件中,在命令行中用PARFILE参数指定参数文件; 交互方式:通过交互式命令进行

42、导出作业管理。,EXPDP导出模式 全库导出:通过参数FULL指定,导出整个数据库 模式导出:通过参数SCHEMAS指定,是默认的导出模式,导出指定模式中的所有对象。 表导出:通过参数TABLES指定,导出指定模式中指定的所有表、分区及其依赖对象。 表空间导出:通过参数TABLESPACES指定,导出指定表空间中所有表及其依赖对象的元数据和行数据。 传输表空间导出:通过参数TRANSPORT_TABLESPACES指定,导出指定表空间中所有表及其依赖对象的元数据。,(2)EXPDP参数介绍,CONTENT:指定要导出的内容。ALL表示导出对象的元数据及行数据;DATA_ONLY表示只导出对象的

43、行数据;METADATA_ONLY表示只导出对象的元数据。默认为ALL。 DIRECTORY:指定转储文件和日志文件所在位置的目录对象,该对象由DBA预先创建。 DUMPFILE:指定转储文件名称列表,可以包含目录对象名。默认值为expdat.dmp。 FULL:指定是否进行全数据库导出,包括所有行数据与元数据。默认值为NO。,JOB_NAME:指定导出作业的名称。默认值为系统自动为作业生成的一个名称。 LOGFILE:指定导出日志文件的名称。默认值为export.log PARALLEL:指定执行导出作业时最大并行进程个数。默认值为1。 PARFILE:指定参数文件的名称。 SCHEMAS:

44、指定进行模式导出及模式名称列表。 TABLES:指定进行表模式导出及表名称列表。 TABLESPACES:指定进行表空间模式导出及表空间名称列表。 TRANSPORT_TABLESPACES:指定进行传输表空间模式导出及表空间名称列表。,(3)EXPDP导出实例,表导出 C:expdp system/tiger DIRECTORY=dpump_dir DUMPFILE=emp_dept.dmp LOGFILE=emp_dept.log TABLES=scott.emp,scott.dept PARALLEL=3 模式导出 C: expdp system/tiger DIRECTORY=dpum

45、p_dir DUMPFILE=scott.dmp SCHEMAS=scott,表空间导出 C:expdp system/tiger DIRECTORY=dpump_dir DUMPFILE=users.dmp TABLESPACES=users 全库导出 C:expdp system/tiger DIRECTORY=dpump_dir DUMPFILE=expfull.dmp FULL=YES NOLOGFILE=YES,13.5.3 利用IMPDP导入数据,IMPDP导入概述 IMPDP参数介绍 IMPDP导入实例,(1)IMPDP导入概述,IMPDP是一个用于将转储文件导入目标数据库的工具

46、。 IMPDP工具可以将转储文件导入到源数据库中,也可以导入到其它平台上运行的不同版本的Oracle数据库中。 IMPDP工具的执行也可以采用交互方式、命名行方式以及参数文件方式三种。,IMPDP导入模式 全库导入:将源数据库的所有元数据与行数据都导入到目标数据库中。 模式导入:通过参数SCHEMA指定,将指定模式中所有对象的元数据与行数据导入目标数据库。 表导入:通过参数TABLES指定,将指定表、分区以及依赖对象导入目标数据库中。 表空间导入:通过参数TABLESPACES指定,将指定表空间中所有对象及其依赖对象的元数据和行数据导入目标数据库。 传输表空间导入:通过参数TRANSPORT_

47、 TABLESPACES指定,将源数据库指定表空间的元数据导入到目标数据库中。,(2)IMPDP参数介绍,CONTENT:指定要导入的内容。ALL表示导入对象的元数据及行数据;DATA_ONLY表示只导入对象的行数据;METADATA_ONLY表示只导入对象的元数据。默认为ALL。 DIRECTORY:指定转储文件和日志文件所在位置的目录对象,该对象由DBA预先创建。 DUMPFILE:指定转储文件名称列表,可以包含目录对象名,默认值为expdat.dmp。 FULL:指定是否进行全数据库导入,包括所有元数据与行数据。默认值为YES。,INCLUDE:指定导入操作中要导入的对象类型和对象元数据

48、。 JOB_NAME:指定导入作业的名称。默认值为系统自动为作业生成的一个名称。 LOGFILE:指定导入日志文件的名称 NOLOGFILE:是否生成导入日志。默认值为NO PARALLEL:执行导入作业时并行进程的最大个数 PARFILE:指定参数文件的名称。 QUERY:指定导入操作中SELECT语句中的数据导入条件。,REMAP_SCHEMA:将源模式中的所有对象导入到目标模式中。 REMAP_TABLE:允许在导入操作过程中重命名表 REMAP_TABLESPACE:将源表空间所有对象导入目标表空间中。 SCHEMAS:指定进行模式导入的模式名称列表。默认为当前用户模式。 TABLES

49、:指定表模式导入的表名称列表。 TABLESPACES:指定进行表空间模式导入的表空间名称列表。 TRANSPORT_TABLESPACES:指定进行传输表空间模式导入的表空间名称列表。,(3)IMPDP导入实例,表导入 C:impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=emp_dept.dmp TABLES=dept,emp CONTENT=DATA_ONLYC:impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=emp_dept.dmp TABLES= dept,emp NOLOGFILE=Y,模式导

50、入 C:impdp system/tiger DIRECTORY=dpump_dir DUMPFILE=scott.dmp SCHEMAS=scott C:impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=scott.dmp REMAP_SCHEMA=scott:test_scott 表空间导入 C:impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=users.dmp TABLESPACES=users; 数据库导入 C:impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=expfull.dmp FULL=YES NOLOGFILE=YES,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报