第二章简记:
rman环境包括目标数据库、rman客户端,还可能用到fast recovery area(快速恢复区)、media manager、recovery catalog
快速恢复区使用db_recovery_file_dest和db_recovery_file_size参数来设置。
媒体管理器控制在备份恢复中的磁盘,管理加载、标签和未加载的媒体。媒体管理磁盘也叫做SBT devices(system backup to tape)
恢复日志 一个单独的数据库组件,用来记录rman对于一个或多个目标数据库的活动。如果控制文件丢失,恢复日志中保留着rman的元数据,更易恢复。数据库中的记录可能在控制文件中会重写,但rman管理的记录永远在catalog中,除非用户删除。
rman登录:
D:\Documents and Settings\tian>rman
恢复管理器: Release 10.2.0.1.0 - Production on 星期日 2月 17 19:27:37 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect target /
连接到目标数据库: BJS (DBID=1593468214)
RMAN> connect target sys@bjs
在运行窗口中显示的提示信息是不能直接复制出来的,这也是oracle安全性的一部分。
RMAN> show all; 显示出所有的配置信息
使用目标数据库控制文件替代恢复目录
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'G:\ORACLE10G\DATABASE\SNCFBJS.ORA'; #
default
用backup命令可以备份文件。rman将备份文件存放在默认磁盘,如果快速恢复区启用,命令中未指定format参数,rman将在恢复区创建备份并自动赋予唯一名称。
默认情况下rman创建备份集,即一个或多个只有rman才能写入数据的物理文件(备份片段)。
如果制定了backup as copy,rman将每个文件都复制为其镜像。就像cp命令或者windows中copy复制的文件那样。
在归档模式下,数据库打开时就可以备份。这时产生的是非一致性备份,由于存储过程中重做日志还在写。
使用命令backup database plus archivelog;可以将数据库连同归档日志一起进行备份。
在非归档模式下,需要将数据库启动到mount状态才能用rman备份。
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT;
RMAN> BACKUP DATABASE;备份为备份集 或者RMAN> BACKUP AS COPY DATABASE;将其备份为镜像文件
RMAN> ALTER DATABASE OPEN;
备份的选项包括
format 指定位置以及备份片段的名称。
如:BACKUP FORMAT 'AL_%d/%t/%s/%p' ARCHIVELOG LIKE '%arc_dest%';
TAG 指定名称的标记,如:
BACKUP
TAG 'weekly_full_db_bkup'
DATABASE MAXSETSIZE 10M;
使用backup incremental命令可以进行增量备份。可以捕获上一次备份后数据块级别的修改,通常比全量备份要快、小。使用增量备份进行恢复比用重做日志要快。
增量备份的起点是level 0 incremental backup,即全量备份。
如果在进行level 1 backup以前没有进行0级备份,oracle自动创建一个0级备份。
在非归档模式下数据库打开时不能使用增量备份,但可以在mount模式下进行。
BACKUP INCREMENTAL LEVEL 0 DATABASE; 创建0级备份
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;创建1级累积备份
BACKUP INCREMENTAL LEVEL 1 DATABASE;创建1级差异备份
增量备份包含最近一次0级备份以来的所有数据块修改;
差异备份包含最近一次备份以阿里的所有数据块修改。
增量更新备份特性是一种高效的增量备份策略,特点为:
(1)需要0级备份为基础;
(2)周期性地1级差异备份以与0级备份文件系统的tag保存。The BACKUP FOR RECOVER OF COPY command specifies that an incremental backup should contain only blocks changed since the most recent incremental backup with the same tag.
(3)增量备份周期性地应用到0级备份文件上。
可以使用validate命令确认所有的数据库文件都存在;check logical选项也可以检查逻辑块中断。
validate datafile 4 block 10 to 13; 检查数据块
validate backupset 3; 校验备份集
rman选项
主要是list backup和list copy命令:
RMAN> list backup; 显示备份信息
使用目标数据库控制文件替代恢复目录
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
1 Full 6.80M DISK 00:00:04 17-2月 -13
BP 关键字: 1 状态: AVAILABLE 已压缩: NO 标记: TAG20130217T194006
段名:D:\ORACLE\FLASH_RECOVERY_AREA\BJRPS\BACKUPSET\2013_02_17\O1_MF_NCSNF_TAG201
30217T194006_8L1JDTH4_.BKP
包括的控制文件: Ckp SCN: 610121 Ckp 时间: 17-2月 -13
包含的 SPFILE: 修改时间: 17-2月 -13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2 Full 528.41M DISK 00:00:40 18-2月 -13
BP 关键字: 2 状态: AVAILABLE 已压缩: NO 标记: TAG20130218T084954
段名:D:\ORACLE\FLASH_RECOVERY_AREA\BJRPS\BACKUPSET\2013_02_18\O1_MF_NNNDF_TAG201
30218T084954_8L2YONFO_.BKP
备份集 2 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\SYSTEM01.DBF
2 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\UNDOTBS01.DBF
3 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\SYSAUX01.DBF
4 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\USERS01.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3 Full 6.80M DISK 00:00:03 18-2月 -13
BP 关键字: 3 状态: AVAILABLE 已压缩: NO 标记: TAG20130218T084954
段名:D:\ORACLE\FLASH_RECOVERY_AREA\BJRPS\BACKUPSET\2013_02_18\O1_MF_NCSNF_TAG201
30218T084954_8L2YQ43X_.BKP
包括的控制文件: Ckp SCN: 635239 Ckp 时间: 18-2月 -13
包含的 SPFILE: 修改时间: 18-2月 -13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
4 Full 80.00K DISK 00:00:02 18-2月 -13
BP 关键字: 4 状态: AVAILABLE 已压缩: NO 标记: TAG20130218T085143
段名:D:\ORACLE\FLASH_RECOVERY_AREA\BJRPS\BACKUPSET\2013_02_18\O1_MF_NNSNF_TAG201
30218T085143_8L2YTHWS_.BKP
包含的 SPFILE: 修改时间: 18-2月 -13
RMAN> list copy; 显示copy备份
说明与恢复目录中的任何存档日志均不匹配
数据文件副本列表
关键字 文件 S 完成时间 Ckp SCN Ckp 时间 名称
------- ---- - ---------- ---------- ---------- ----
1 1 A 18-2月 -13 635239 18-2月 -13 D:\ORACLE\FLASH_RECOVERY_AREA\BJ
RPS\DATAFILE\O1_MF_SYSTEM_8L2YS089_.DBF
3 2 A 18-2月 -13 635239 18-2月 -13 D:\ORACLE\FLASH_RECOVERY_AREA\BJ
RPS\DATAFILE\O1_MF_UNDOTBS1_8L2YT93X_.DBF
2 3 A 18-2月 -13 635239 18-2月 -13 D:\ORACLE\FLASH_RECOVERY_AREA\BJ
RPS\DATAFILE\O1_MF_SYSAUX_8L2YSSOZ_.DBF
4 4 A 18-2月 -13 635239 18-2月 -13 D:\ORACLE\FLASH_RECOVERY_AREA\BJ
RPS\DATAFILE\O1_MF_USERS_8L2YTDJ3_.DBF
控制文件副本列表
关键字 S 完成时间 Ckp SCN Ckp 时间 名称
------- - ---------- ---------- ---------- ----
5 A 18-2月 -13 635239 18-2月 -13 D:\ORACLE\FLASH_RECOVERY_AREA\BJRPS\C
ONTROLFILE\O1_MF_TAG20130218T085143_8L2YTFQG_.CTL
RMAN> list backup of database by backup; 按照数据库备份集显示备份
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2 Full 528.41M DISK 00:00:40 18-2月 -13
BP 关键字: 2 状态: AVAILABLE 已压缩: NO 标记: TAG20130218T084954
段名:D:\ORACLE\FLASH_RECOVERY_AREA\BJRPS\BACKUPSET\2013_02_18\O1_MF_NNNDF_TAG201
30218T084954_8L2YONFO_.BKP
备份集 2 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\SYSTEM01.DBF
2 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\UNDOTBS01.DBF
3 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\SYSAUX01.DBF
4 Full 635239 18-2月 -13 D:\ORACLE\ORADATA\BJRPS\USERS01.DBF
RMAN> list backup by file; 按照文件显示备份情况
数据文件备份列表
========================
文件关键字 TY LV S Ckp SCN Ckp 时间 段数 副本数 压缩标记
---- ------- - -- - ---------- ---------- ------- ------- ---------- ---
1 2 B F A 635239 18-2月 -13 1 1 NO TAG2013021
8T084954
2 2 B F A 635239 18-2月 -13 1 1 NO TAG2013021
8T084954
3 2 B F A 635239 18-2月 -13 1 1 NO TAG2013021
8T084954
4 2 B F A 635239 18-2月 -13 1 1 NO TAG2013021
8T084954
控制文件备份列表
============================
CF Ckp SCN Ckp 时间 BS 关键字 S 段数 副本数 压缩标记
---------- ---------- ------- - ------- ------- ---------- ---
635239 18-2月 -13 3 A 1 1 NO TAG20130218T084954
610121 17-2月 -13 1 A 1 1 NO TAG20130217T194006
SPFILE 备份的列表
======================
修改时间 BS 关键字 S 段数 副本数 压缩标记
---------- ------- - ------- ------- ---------- ---
18-2月 -13 4 A 1 1 NO TAG20130218T085143
18-2月 -13 3 A 1 1 NO TAG20130218T084954
17-2月 -13 1 A 1 1 NO TAG20130217T194006
RMAN> list backup summary; 总结输出备份信息
备份列表
===============
关键字 TY LV S 设备类型 完成时间 段数 副本数 压缩标记
------- -- -- - ----------- ---------- ------- ------- ---------- ---
1 B F A DISK 17-2月 -13 1 1 NO TAG20130217T19
4006
2 B F A DISK 18-2月 -13 1 1 NO TAG20130218T08
4954
3 B F A DISK 18-2月 -13 1 1 NO TAG20130218T08
4954
4 B F A DISK 18-2月 -13 1 1 NO TAG20130218T08
5143
类似命令还有:
LIST BACKUP OF DATABASE; 显示数据库的所有备份
LIST COPY OF DATAFILE 1, 2; 显示数据文件1、2的copy备份
LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 10; 显示归档日志的备份
LIST BACKUPSET OF DATAFILE 1; 显示1号数据文件的备份集
2.数据库文件和备份的报告
need backup
如report need backup database
显示当前哪些文件需要备份。
obsolete
如 report obsolete
显示过期的备份集(超过了backup retention policy)
schema
如report schema
显示表空间和数据文件信息
unrecoverable
如report unrecoverable
显示自上次备份以来,进行了不可恢复操作的对象
六、rman备份的维护
rman的元数据存放在目标数据库的控制文件中,rman maintenance commands使用这些元数据来维护备份。
1.交叉检查备份
crosscheck命令通过存储在媒体中的文件校准rman备份的逻辑数量。如果备份放在磁盘上,crosscheck判断文件头是否合法;如果备份在磁带上,rman查询rmanrepository从而确定备份片段的名称和位置。再删除之前进行交叉备份和是一个好习惯。
交叉校验的命令包括:
crosscheck backup;
crosscheck copy;
2.删除过期的备份
delete obsolete命令删除过期的备份。
七、用数据恢复建议器诊断和修改失效
1.显示失效,决定修改选项
failure是有健康监控检测到的永久数据的中断,级别包括critical、high、low,状态包括open、closed
用命令list failure查看当前有哪些failure;
用命令advise failure得到修正当前问题的建议信息。
2.修正failure
运行repair failure命令,rman使用最近一次建议(advise failure)进行修改。
八、闪回数据库
闪回整个数据库,前提是设置了闪回日志。该命令不能解决媒体失败或数据文件丢失的问题。
在闪回数据库时需要在mount状态下进行,如果提前设置了恢复时间点,并且在可恢复范围内,可以直接回复到该时间点。
闪回到某个时间点的表示方法:
FLASHBACK DATABASE TO SCN 861150;
FLASHBACK DATABASE
TO RESTORE POINT BEFORE_CHANGES;
FLASHBACK DATABASE
TO TIMESTAMP TO_DATE(04-DEC-2009 03:30:00','DD-MON-YYYY HH24:MI:SS');
九、数据文件的恢复
mount状态下执行
restore database;
recover database ;
可以恢复数据库
在数据库打开,待恢复表空间脱机时,执行restore tablespace;
recover tablespace;命令可以恢复表空间。
RECOVER CORRUPTION LIST;覆盖所有修改的数据块;
RECOVER DATAFILE 1 BLOCK 233, 235 DATAFILE 2 BLOCK 100 TO 200;覆盖特定的块;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26451536/viewspace-754886/ ,如需转载,请注明出处,否则将追究法律责任。