l ALTER DATABASE BACKUP CONTROLFILE TO D ORACLEBACKUPCONTROL













l 控制文件备份方法 – 将控制文件备份为二进制文件。 • ALTER DATABASE BACKUP CONTROLFILE TO 'D: ORACLEBACKUPCONTROL. BKP'; – 将控制文件备份为文本文件。 • ALTER DATABASE BACKUP CONTROLFILE TO TRACE; 13











l 数据库处于打开状态下的恢复 – ①如果数据库已经关闭,则将数据库启动到 MOUNT状态。 • STARTUP MOUNT – ②将损坏的数据文件设置为脱机状态。 • ALTER DATABASE DATAFILE • 'D: APPADMINISTRATORORADATAHUMAN_RESOU RCEEXAMPLE 01. DBF' OFFLINE; – ③打开数据库。 • ALTER DATABASE OPEN; – ④将损坏的数据文件所在的表空间脱机。 • ALTER TABLESPACE EXAMPLE OFFLINE FOR RECOVER; 24



l 数据库处于装载状态下的恢复 – 如果数据库没有关闭,则强制关闭数据库。 • SHUTDOWN ABORT – 利用备份的数据文件example 01. dbf还原损坏的数 据文件example 01. dbf。 – 将数据库启动到MOUNT状态。 • STARTUP MOUNT – 执行数据文件恢复命令。 • RECOVER DATAFILE • D: APPADMINISTRATORORADATAHUMAN_RESOURCE • example 01. dbf'; – 将数据文件联机。 • ALTER DATABASE DATAFILE • D: APPADMINISTRATORORADATAHUMAN_RESOURCE • example 01. dbf' ONLINE – 打开数据库。 • ALTER DATABASE OPEN; 27

l 数据库处于打开状态下的恢复 – 如果数据库已经关闭,则将数据库启动到MOUNT 状态。 • STARTUP MOUNT – 将损坏的数据文件设置为脱机状态。 • ALTER DATABASE DATAFILE • D: APPADMINISTRATORORADATAHUMAN_RESOURCE • example 01. dbf' OFFLINE; – 打开数据库。 • ALTER DATABASE OPEN; – 利用备份的数据文件example 01. dbf还原损坏的数 据文件example 01. dbf。 28

– 执行数据文件恢复命令。 • RECOVER DATAFILE • D: APPADMINISTRATORORADATAHUMAN_RESOURCE • example 01. dbf'; – 将数据文件联机。 • ALTER DATABASE DATAFILE • D: APPADMINISTRATORORADATAHUMAN_RESOURCE • example 01. dbf' ONLINE; – 如果数据文件损坏时数据库正处于打开状态,则 可以直接执行步骤(2)、(4)~(6)。 29

(5)数据库完全恢复示例 l 以SYSTEM表空间的数据文件system 01. 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, 'LISI'); • COMMIT; • ALTER SYSTEM SWITCH LOGFILE; • SELECT * FROM test_rec; • SHUTDOWN ABORT; 30




![l 不完全恢复的语法为 – RECOVER [AUTOMATIC] – [FROM 'location'][DATABASE] – [UNTIL TIME time|CANCEL|CHANGE scn] – l 不完全恢复的语法为 – RECOVER [AUTOMATIC] – [FROM 'location'][DATABASE] – [UNTIL TIME time|CANCEL|CHANGE scn] –](http://slidetodoc.com/presentation_image_h2/65521b5e7b42909d766ea84b6afffe1c/image-35.jpg)
l 不完全恢复的语法为 – RECOVER [AUTOMATIC] – [FROM 'location'][DATABASE] – [UNTIL TIME time|CANCEL|CHANGE scn] – [USING BACKUP CONTROLFILE] 35



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



41


![(1)连接数据库 l 在操作系统命令提示符下直接连接目标数据 库: – RMAN TARGET user/password@net_service_name [NOCATALOG] l 先在命令提示符下输入RMAN启动RMAN命 令执行器,然后执行下列连接命令: – CONNECT (1)连接数据库 l 在操作系统命令提示符下直接连接目标数据 库: – RMAN TARGET user/password@net_service_name [NOCATALOG] l 先在命令提示符下输入RMAN启动RMAN命 令执行器,然后执行下列连接命令: – CONNECT](http://slidetodoc.com/presentation_image_h2/65521b5e7b42909d766ea84b6afffe1c/image-44.jpg)
(1)连接数据库 l 在操作系统命令提示符下直接连接目标数据 库: – RMAN TARGET user/password@net_service_name [NOCATALOG] l 先在命令提示符下输入RMAN启动RMAN命 令执行器,然后执行下列连接命令: – CONNECT TARGET|CATALOG user/password@net_service_name [NOCATALOG] 44

(2)创建恢复目录 l 1)�建恢复目�数据�。 • 2)在目录数据库中创建表空间RECOVERY_CATALOG l 3)在恢复目�数据�中�建用�。例如 : – – CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE RECOVERY_CATALOG TEMPORARY TABLESPACE TEMP QUOTA 500 M ON RECOVERY_CATALOG; – 3)� RMAN用�授�。必�授予 RECOVERY_CATALOG_OWNER系��限。 – GRANT RECOVERY_CATALOG_OWNER, CONNECT, RESOURCE TO rman; 45

p 4)启动RMAN,连接恢复目录数据库。 – RMAN>CONNECT CATALOG rman/rman@ORACLE l 5)�建恢复目�。 – RMAN>CREATE CATALOG TABLESPACE RECOVERY_CATALOG; – 如果恢复目录不再使用,可以删除恢复目录。 例如: • RMAN>DROP CATALOG; 46

(3)注册数据库 l 为了在恢复目录中注册数据库,需要先将 RMAN连接到目标数据库和恢复目录数据库, 然后执行REGISTER DATABASE语句即可。 – RMAN>CONNECT TARGET sys/Sfd 12345@ORCL – RMAN>CONNECT CATALOG rman/rman@ORACLE – RMAN>REGISTER DATABASE; – RMAN>RESYNC CATALOG; 47


l 自动分配通道 – RMAN中与自动分配通道相关的预定义配置参 数包括: – CONFIGURE DEFAULT DEVICE TYPE TO disk|sbt – CONFIGURE DEVICE TYPE disk|sbt PARALLELISM n – CONFIGURE CHANNEL DEVICE TYPE – CONFIGURE CHANNEL n DEVICE TYPE

l 设置自动分配通道的参数。 – RMAN>CONFIGURE DEFAULT DEVICE TYPE TO sbt; – RMAN>CONFIGURE DEVICE TYPE disk PARALLELISM 2; – RMAN>CONFIGURE DEVICE TYPE disk PARALLELISM 3; – RMAN>CONFIGURE CHANNEL 3 DEVICE TYPE disk MAXPIECESIZE=50 M;

l 手动分配通道 l 使用RUN命令手动分配通道。语法为: – RUN{ – ALLOCATE CHANNEL 通道名称 DEVICE TYPE 设备 类型; – BACKUP… –} l 例如: – RMAN>RUN{ ALLOCATE CHANNEL ch 1 DEVICE – TYPE disk FORMAT 'd: /backup/%U'; – BACKUP TABLESPACE users; }



![l BACKUP命令的基本语法为: – BACKUP [backup_option] backup_object – [PLUS ARCHIVELOG] – [backup_object_option]; l 备份整个数据库 – l BACKUP命令的基本语法为: – BACKUP [backup_option] backup_object – [PLUS ARCHIVELOG] – [backup_object_option]; l 备份整个数据库 –](http://slidetodoc.com/presentation_image_h2/65521b5e7b42909d766ea84b6afffe1c/image-55.jpg)
l BACKUP命令的基本语法为: – BACKUP [backup_option] backup_object – [PLUS ARCHIVELOG] – [backup_object_option]; l 备份整个数据库 – RMAN>BACKUP DATABASE FORMAT 'D: BACKUP%U. BKP'; l 备份表空间 – 可以使用BACKUP TABLESPACE命令备份一个或 多个表空间。 – RMAN>BACKUP TABLESPACE system, users FORMAT 'D: BACKUP%U. BKP'; 55


l 备份控制文件 – RMAN>CONFIGURE CONTROLFILE AUTOBACKUP ON; – RMAN>CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; l 备份服务器初始化参数文件 – RMAN>BACKUP SPFILE FORMAT 'D: BACKUP 1%U';

l 备份归档重做日志文件 – 使用BACKUP ARCHIVELOG命令备份归档重做日 志文件 • RMAN>BACKUP ARCHIVELOG ALL; – 使用BACKUP…PLUS ARCHIVELOG命令备份归档 重做日志文件 • RMAN>BACKUP DATABASE PLUS ARCHIVELOG FORMAT 'D: BACKUP 1%U'; 58


![l 利用RESTORE命令修复数据库的基本语法为: – RESTORE(restore_object[restore_spc_option])[resto re_option]; l 例如: – RMAN>RESTROE DATABASE; – RMAN>RESTORE CONTROLFILE FROM l 利用RESTORE命令修复数据库的基本语法为: – RESTORE(restore_object[restore_spc_option])[resto re_option]; l 例如: – RMAN>RESTROE DATABASE; – RMAN>RESTORE CONTROLFILE FROM](http://slidetodoc.com/presentation_image_h2/65521b5e7b42909d766ea84b6afffe1c/image-61.jpg)
l 利用RESTORE命令修复数据库的基本语法为: – RESTORE(restore_object[restore_spc_option])[resto re_option]; l 例如: – RMAN>RESTROE DATABASE; – RMAN>RESTORE CONTROLFILE FROM AUTOBACKUP; – RMAN>RESTORE DATAFILE 4; – RMAN>RESTORE DATAFILE 'D: DISK 2USERS 01. DBF'; – RMAN>RESTORE TABLESPACE users; 61
![l 利用RECOVER命令对修复后的数据库进行恢 复操作的基本语法为: – RECOVER [DEVICE TYPE disk|sbt] recover_object [recover_option]; l 例如: – RMAN>RECOVER l 利用RECOVER命令对修复后的数据库进行恢 复操作的基本语法为: – RECOVER [DEVICE TYPE disk|sbt] recover_object [recover_option]; l 例如: – RMAN>RECOVER](http://slidetodoc.com/presentation_image_h2/65521b5e7b42909d766ea84b6afffe1c/image-62.jpg)
l 利用RECOVER命令对修复后的数据库进行恢 复操作的基本语法为: – RECOVER [DEVICE TYPE disk|sbt] recover_object [recover_option]; l 例如: – RMAN>RECOVER DATABASE DELETE ARCHIVELOG; – RMAN>RECOVER CONTROLFILE; – RMAN>RECOVER DATAFILE 4; – RMAN>RECOVER DATAFILE 'D: DISK 2USERS 01. DBF'; – RMAN>RECOVER TABLESPACE users; 62


l 数据文件的完全恢复 – 1)启动RMAN并连接到目标数据库。如果使用恢 复目录,还需要连接到恢复目录数据库。 – 2)将损坏或丢失的数据文件设置为脱机状态。例 如: • RMAN>SQL "ALTER DATABASE DATAFILE 'D: APPADMINISTRATORORADATAORCL USERS 01. DBF' OFFLINE"; – 3)对损坏或丢失的数据文件进行修复和恢复操作 • RMAN>RESTORE DATAFILE ' D: APPADMINISTRATORORADATAORCLUSERS 01. DBF'; • RMAN>RECOVER DATAFILE ' D: APPADMINISTRATORORADATAORCLUSERS 01. DBF'; 64

– 4)数据文件恢复结束后将数据文件联机。例如 • RMAN>SQL "ALTER DATABASE DATAFILE • 'D: APPADMINISTRATORORADATAORCL USERS 01. DBF' • ONLINE";



l 基于时间的不完全恢复 – RMAN>RUN{ – SET UNTIL TIME '2013 -2 -11 10: 00'; – RESTORE DATABASE; – RECOVER DATABASE; –}

l 基于SCN的不完全恢复 – RMAN>RUN{ – SET UNTIL SCN 1396202; – RESTORE DATABASE; – RECOVER DATABASE; –}

l 基于日志序列号的不完全恢复 – RMAN>RUN{ – SET UNTIL SEQUENCE 21; – RESTORE DATABASE; – RECOVER DATABASE; –}




l 使用EXPDP、IMPDP程序之前需要创建DIRECTORY对 象,并将该对象的READ、WRITE权限授予用户。 – CREATE OR REPLACE DIRECTORY dumpdir AS 'D: ORACLEBACKUP'; – GRANT READ, WRITE ON DIRECTORY dumpdir TO ehr; l 如果用户要导出或导入非同名模式的对象,还需要 具有EXP_FULL_DATABASE和IMP_FULL_DATABASE权限 – GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO ehr;






(3)EXPDP导出实例 l 表导出 – C: >expdp system/tiger DIRECTORY=dpump_dir DUMPFILE=emp_dept. dmp LOGFILE=emp_dept. log TABLES=scott. emp, scott. dept PARALLEL=3 l 模式导出 – C: >expdp system/tiger DIRECTORY=dpump_dir DUMPFILE=scott. dmp SCHEMAS=scott

l 表空间导出 – C: >expdp system/tiger DIRECTORY=dpump_dir DUMPFILE=users. dmp TABLESPACES=users l 全库导出 – C: >expdp system/tiger DIRECTORY=dpump_dir DUMPFILE=expfull. dmp FULL=YES NOLOGFILE=YES







(3)IMPDP导入实例 l 表导入 – C: >impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=emp_dept. dmp TABLES=dept, emp CONTENT=DATA_ONLY – C: >impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=emp_dept. dmp TABLES= dept, emp NOLOGFILE=Y

l 模式导入 – 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 l 表空间导入 – C: >impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=users. dmp TABLESPACES=users; l 数据库导入 – C: >impdp scott/tiger DIRECTORY=dpump_dir DUMPFILE=expfull. dmp FULL=YES NOLOGFILE=YES

- Slides: 90