$ rman target sys/oracle@orcl --远程连接到 rman
$ rman target sys/oracle@orcl @backup_db.ram --远程连接到 rman 并执行指定脚本
$ rman target sys/oracle@orcl cmdfile=backup_db.ram --远程连接到 rman 并执行指定脚
本
$ rman target / log rman.log --记录 rman 的输出
RMAN> @backup_db.ram --rman 里面执行脚本
备份命令:
RMAN> backup database format '.../%d_%U'; --备份数据库并指定备份路径
RMAN> backup database; --备份数据库
RMAN> backup database include current controlfile plus archivelog delete all
input; --备份数据文件、控制文件、归档日志
RMAN> backup incremental level 0 database; --差异增量备份数据库
RMAN> backup incremental level 0 cumulative database; --累积增量备份数据库
RMAN> backup as compressed backupset database; --压缩备份数据库
RMAN> backup database include current controlfile; --备份数据库并备份控制文件
RMAN> backup tablespace users; --备份表空间
RMAN> backup datafile n; --备份数据文件
RMAN> backup datafiel '/opt/oracle/oradata/orcl/users01.dbf'; --备份数据文件
RMAN> backup current controlfile; --备份控制文件
RMAN> backup current controlfile plus archivelog; --备份控制文件并归档然后备份归档
日志
RMAN> backup archivelog all; --备份归档日志
RMAN> backup archivelog all delete all input; --备份归档日志并删除
RMAN> backup spfile; --备份参数文件
RMAN> backup backupset all; --备份全部备份集
RMAN> backup backupset n; --备份指定备份集
还原、恢复命令:
RMAN> restore database; --还原数据库
RMAN> restore tablespace users; --还原表空间
RMAN> restore datafile n; --还原数据文件
RMAN> restore archivelog sequence between 10 and 20; --还原归档日志
RMAN> restore controlfile from autobackup; --还原控制文件
RMAN> restore spfile to '/tmp/spfile.ora' from autobackup; --还原参数文件
RMAN> recover database; --恢复数据库
RMAN> recover tablespace users; --恢复表空间
RMAN> recover datafile n; --恢复数据文件
RMAN> restore validate database; --验证数据库可恢复性
RMAN> restore validate controlfile; --验证控制文件可恢复性
RMAN> restore validate spfile; --验证参数文件可恢复性
查看备份集命令:
RMAN> list backup; --列出数据库中所有的备份集
RMAN> list backup of database; --查看数据库备份集
RMAN> list backup of tablespace users; --查看表空间备份集
RMAN> list backup of datafile n; --查看备份的数据文件
RMAN> list backup of controlfile; --查看控制文件备份集
RMAN> list backup of archivelog all; --查看归档日志备份集
RMAN> list archivelog all; --查看当前所有归档日志
RMAN> list expired backup; --列出所有无效备份
管理备份集命令:
RMAN> crosscheck backup; --检查所有备份集
RMAN> crosscheck archivelog all; --检查所有归档文件
RMAN> delete [noprompt] obsolete; --删除过期备份
RMAN> delete expired backup; --删除无效备份
RMAN> delete expired archivelog all; --删除所有无效归档文件
RMAN> delete backupset 1; --删除指定备份
RMAN> delete backup; --删除所有备份
RMAN> change backupset 3 unavailable; --更改备份集 3 为无效
RMAN> change backupset 3 available; --更改备份集 3 为有效
RMAN> change backup of controlfile unavailable; --更改控制文件为无效
RMAN> change backup of controlfile available; --更改控制文件为有效
RMAN> report schema; --查看数据库备份结构
RMAN> report need backup; --查看所以需要备份的文件
RMAN> report need backup tablespace system; --查看指定表空间是否需要备份
RMAN> report obsolete; --查看过期备份
LIST 命令:
1.数据库拷贝列表:RMAN> list incarnation;
2.备份清单:RMAN> list backup summary;
说明:B 表示 backup,F 表示 FULL,A 表示 Archive log,0 1 表示 incremenal backup,
S 说明备份状态(A:AVAILABLE, X:EXPIRED)
按备份类型:RMAN>list backup by file;
3.列出过期备份:RMAN> list expired backup;
4.列出备份集及数据文件副本
RMAN> list backup of database;
RMAN> list backup of datafile
"D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF";
5.列出指定表空间的备份集及数据文件副本
RMAN> list copy of tablespace "SYSTEM";
6.列出归档日志备份
RMAN>list archivelog all; --简要信息
RMAN>list backup of archivelog all; --详细信息
列出固定范围内的归档日志备份:
RMAN> list copy of database archivelog
from time='SYSDATE-7';
7.列出控制文件和服务器参数文件
RMAN>list backup of controfile;
RMAN>list backup of spfile;
*****************************************
REPORT 命令:
1.数据库:RMAN> report schema;
RMAN> report schema;time ‘sysdate-10’;
RMAN> report schema at scn 100;
RMAN> report schema at sequence 100 thread 1;
2.哪些文件需要备份:RMAN> report need backup;
2.1 恢复时需要的增量备份个数超过超过 3 次的数据文件列表:
RMAN> report need backup incremental (=) 3 (database);
2.2 超过 3 天没有备份的文件列表:
RMAN> report need backup days (=) 3 (tablespace perfstat);
2.3 备份文件低于 2 份的文件列表:
RMAN> report need backup redundancy (=) 2;
2.4 恢复需要 3 超过 3 天的归档日志的数据文件列表:
RMAN> report need backup recovery window of 3 days;
3.无法恢复作业的列表:RMAN> report unrecoverable;
4.作废的备份列表:
RMAN> report obsolete;
RMAN> report
obsolete redundancy 2;-- 备份次数超过两次的陈旧备份列表
RMAN> report
obsolete recovery window of 3 days;
****************************************
DELETE 命令
1.删除作废的备份:RMAN> delete obsolete;
RMAN>
delete obsolete redundancy 2;
2.删除过期副本:RMAN> delete (noprompt) expired copy;
3.删除特定备份集:RMAN> delete backupset 19;
4.删除特定备份片:RMAN> delete backuppiece “….bak”;
5.删除所以备份集:RMAN> delete backup;
6.删除特定映像副本:RMAN> delete datafilecopy “….bak”;
7.删除所有映像副本:MAN> delete copy;
8.删除备份集:RMAN> delete backupset 10;
9.备份后删除输入对象:RMAN> backup archivelog all delete input;
10.删除备份索引键为 4 的备份集:RMAN> delete backupset 4;
*********************************************
CROSSCHECK 命令:校验备份信息
备份集有两种状态:A(AVAILABLE,RMAN 认为该项存在于备份介质上),X(EXPIRED, 备份
存在于控制文件或恢复目录中,但并没有物理存在于备份介质上)。
CROSSCHECK 的目的是检查 RMAN 的目录以及物理文件,如果物理文件不存在于介质上,
将标记为 Expired;如果物理文件存在,将维持 Available;如果原先标记为 Expired 的备份
集再次存在于备份介质上(如恢复力损坏的磁盘驱动器后),crosscheck 将把状态重新从
Expired
标记回 Available。
crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,
第二部分列出不存在于备份介质上的备份集片,并将其标记为 Expired。当设置备份保存
策略后,一个备份过期,crosscheck 之后标记为丢弃的备份状态依旧为 availabel,要删除丢弃备份
delete obsolete。
1.RMAN>
crosscheck backup 核对所有备份集;
2.RMAN> crosscheck backup of database; -- 核对所有数据文件的备份集
3.RMAN> crosscheck backup of tablespace users;--核对特定表空间的备份集
4.RMAN> crosscheck backup of datafile 4;-- 核对特定数据文件的备份集
5.RMAN> crosscheck backup of controlfile;-- 核对控制文件的备份集
6.RMAN> crosscheck backup of spfile;-- 核对 SPFILE 的备份集
7.RMAN> crosscheck backup of archivelog sequence 3; -- 核对归档日志的备份集
8.RMAN> crosscheck copy;-- 核对所有映像副本
9.RMAN> crosscheck copy of database;-- 核对所有数据文件的映像副本
10.RMAN> crosscheck copy of tablespace users;-- 核对特定表空间的映像副本
11.RMAN> crosscheck copy of datafile 6; --核对特定数据文件的映像副本
12.RMAN> crosscheck copy of archivelog sequence 4;-- 核对归档日
志的映像副本
13.RMAN> crosscheck copy of controlfile;-- 核对控制文件的映像副本
14.RMAN> crosscheck backup tag='SAT_BACKUP';
15.RMAN> crosscheck backup completed after 'sysdate - 2'
16.RMAN> crosscheck backup completed between 'sysdate - 5' and
'sysdate -2 '
17.RMAN> crosscheck backup device type sBT;
18.RMAN> crosscheck archivelog all;
19.RMAN> crosscheck archivelog like '%ARC00012.001'
20.RMAN> crosscheck archivelog from sequence 12;
21.RMAN> crosscheck archivelog until sequence 522;
************************************************
VALIDATE 命令
验证备份集片是否能够被还原:
RMAN> validate backupset 1;
可先执行 RMAN> list backup summary;得到备份集索引键
**********************************************
CHANGE 命令
改变备份记录的状态:
RMAN> backup as copy format='D:\oracle\product\10.2.0\oradata\
OMF\ORCL\backup\df_5.dbf' datafile 5;
RMAN> change datafilecopy 'D:\oracle\product\10.2.0\oradata\OM
F\ORCL\backup\df_5.dbf' unavailable;
RMAN>change backupset 2 unavailable;
RMAN>change backupset 10 keep forever logs;
RMAN>change backupset 200 keep until time ‘sysdate+60’ logs;
RMAN>change backupset 20 nokeep;
********************************************
CATALOG 命令(需要建立了恢复目录数据库才可以使用)
追加备份记录到 RMAN 资料库
RMAN>catalog datafilecopy ‘….bak’;
RMAN>catalog backuppiece ‘….dbf’;
RMAN>catalog start with ‘d:\’;
#注销
RMAN>change datafilecopy ‘….bak’ uncatalog;
RMAN>change controlfilecopy ‘‘….ctl’ uncatalog;
RMAN>change backuppiece ‘….bak’ uncatalog;
RMAN 常用命令汇总
1、report 命令:
1.RMAN> report schema 报告目标数据库的物理结构;
2.RMAN>report need backup days=3; 报告最近 3 天没有被备份的
数据文件;
3.RMAN> report need backup days 3 tablespace users; 在 USERS 表空间上 3 天
未备份的数据文件;
4.RMAN> report need backup incremental 3; 报告恢复数据文件需要的
增量备份个数超过 3 次的数据文件;
5.RMAN> report need backup redundancy 2 database; 报告备份文件低于 2 份
的所有数据文件;
RMAN>report need backup redundancy=2;
6.RMAN> report need backup recovery window of 6 days; 报告文件报表的恢复
需要超过 6 天的归档日志的数据文件;
7.RMAN> report unrecoverable; 报告数据库所有不可恢复的
数据文件;
8.RMAN> report obsolete redunndancy 2; 报告备份次数超过 2 次的
陈旧备份;
9.RMAN>report obsolete; 报告丢弃的备份;
2、LIST 命令:列出备份信息
1、列出数据文件备份集
RMAN> list backup 列出详细备份;
RMAN> list expired backup 列出过期备份;
RMAN> list backup of database; 列出所有数据文件的备份集;
RMAN> list backup of tablespace user01; 列出特定表空间的所有数据
文件备份集;
2、RMAN> list backup of controlfile 列出控制文件备份集;
3、RMAN> list backup of archivelog all 列出归档日志备份集详细
信息;
RMAN>list archivelog all; 列出归档日志备份集简要信息
4、RMAN> list backup of spfile 列出 SPFILE 备份集;
5、RMAN> list copy of datafile 5 列出数据文件映像副本;
6、RMAN> list copy of controlfile 列出控制文件映像副本;
7、RMAN> list copy of archivelog all 列出归档日志映像副本;
8、RMAN> list incarnation of database 列出对应物/列出数据库
副本;
9、RMAN>list backup summary; 概述可用的备份;
B 表示 backup
F 表示 FULL
A 表示 archive log
0 1 表示 incremental backup
S 说明备份状态(A AVAILABLE X EXPIRED )
10、RMAN>list backup by file 按备份类型列出备份;
按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出
3、CROSSCHECK 命令:校验备份信息
1、RMAN> crosscheck backup 核对所有备份集;
2、RMAN> crosscheck backup of database 核对所有数据文件的备份集;
3、RMAN> crosscheck backup of tablespace users 核对特定表空间的备份集;
4、RMAN> crosscheck backup of datafile 4 核对特定数据文件的备份集;
5、RMAN> crosscheck backup of controlfile 核对控制文件的备份集;
6、RMAN> crosscheck backup of spfile 核对 SPFILE 的备份集;
7、RMAN> crosscheck backup of archivelog sequence 3 核对归档日志的备份集;
8、RMAN> crosscheck copy 核对所有映像副本;
9、RMAN> crosscheck copy of database 核对所有数据文件的映像副本;
10、RMAN> crosscheck copy of tablespace users 核对特定表空间的映像副本;
11、RMAN> crosscheck copy of datafile 6 核对特定数据文件的映像副本;
12、RMAN> crosscheck copy of archivelog sequence 4 核对归档日志的映像副本;
13、RMAN> crosscheck copy of controlfile 核对控制文件的映像副本;
14、RMAN> crosscheck backup tag='SAT_BACKUP';
15、RMAN> crosscheck backup completed after 'sysdate - 2'
16、RMAN> crosscheck backup completed between 'sysdate - 5' and 'sysdate -2
'
17、RMAN> crosscheck backup device type sBT;
18、RMAN> crosscheck archivelog all;
19、RMAN> crosscheck archivelog like '%ARC00012.001'
20、RMAN> crosscheck archivelog from sequence 12;
21、RMAN> crosscheck archivelog until sequence 522;
4、DELETE:删除备份
1、RMAN> delete obsolete; 删除陈旧备份;
2、RMAN> delete expired backup; 删除 EXPIRED 备份
3、RMAN> delete expired copy; 删除 EXPIRED 副本;
4、RMAN> delete backupset 19; 删除特定备份集;
5、RMAN> delete backuppiece ''d:\backup\DEMO_19.bak'' 删除特定备份片;
6、RMAN> delete noprompt backup 删除所有备份集;
7、RMAN> delete datafilecopy ''d:\backup\DEMO_19.bak'' 删除特定映像副本;
8、RMAN> delete copy 删除所有映像副本;
5、CHANGE 命令:改变备份集的状态
1、RMAN> change backupset 22 unavailable 改变备份
集状态;
2、RMAN> change datafilecopy ''d:\backup\demo_37.bak'' unavailable 改
变映像副本状态;
3、RMAN> change backupset 156 keep forever logs 使备份
集 156 永久保留;
4、RMAN> change backupset 198 keep until ''sysdate+60'' logs 使备
份集 198 保留 60 天;
5、RMAN> change backupset 156 nokeep 免除备份
集 156 的保留期限;
6、CONFIGURE 命令
1 显示当前的配置信息
1.01 RMAN> show all;
1.02 查询 RMAN 设置中非默认值:
SQL> select name,value from v$rman_configuration;
2.常用的 configure 选项 冗余几 3 份有效的(redundancy 3)
2.01 保存策略(retention policy)
configure retention policy to recovery window of 3 days;
configure retention policy to redundancy 3;
configure retention policy clear;
2.02 备份优化 backup optimization
configure backup optimization on; 打开后,会自动检查哪些归档已经备份过,备份过
的就不会备份了
configure backup optimization off;默认关闭,自动备份所有归档文件。
configure backup optimization clear;
2.03 默认设备 default device type
configure default device type to disk;
configure default device type to stb;
configure default device type clear;
2.04 控制文件 controlfile
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to
'/cfs01/backup/conf/conf_%F';
configure controlfile autobackup clear;
configrue controlfile autobackup format for device type disk clear;
configrue snapshot controlfile name to
'/cfs01/backup/snapcf/scontrofile.snp';
configrue snapshot controlfile name clear;
2.05 并行数(通道数) device type disk|stb parallelism n;
configure device type disk|stb parallelism 2;--将 disk 通道数提升到 2;
configure device type disk|stb clear;
configure channel device type disk format 'e/:rmanback_%U';(设置默认备份
保存路径)
configure channel device type disk maxpiecesize 100m
configure channel device type disk rate 1200K
configure channel 1 device type disk format 'e/:rmanback_%U';
configure channel 1 device type disk maxpiecesize 100m
2.06 生成备份副本 datafile|archivelog backup copies
configure datafile backup copies for device type disk|stb to 3;
configure archivelog backup copies for device type disk|stb to 3;
configure datafile|archivelog backup copies for device type disk|stb
clear
backup device type disk database
format '/disk1/backup/%U', '/disk2/backup/%U', '/disk3/backup/%U';
2.07 排除选项 exclude
configure exclude for tablespace 'users';
configrue exclude clear;
2.08 备份集大小 maxsetsize
configure maxsetsize to 1G|1000M|1000000K|unlimited;
configure maxsetsize clear;
补充:
1、备份安全策略 :
备份集冗余度:该设置通常是由于不经常备份,如果备份集大于 3,那么通过 report
obsolete 命令就可以查看过期的备份集,然后通过 delete obsolete
可以删除过期的备份集
configure retention policy to redunancy 2
备份集保留天数:配置备份集保留 3 天,过了三天之后这个备份集就是过期的,不过这个时
候不会自动删除过期的备份,与冗余一样,列出 过期,然后删除
configure retention policy to recovery window of 3 days
2、备份优化:默认关闭,比如说一个表空间是只读,那么第二次备份的时候就不会备份那个只
读的表空间
configure backup optimization on
3、设置备份集压缩:一般默认等级是“BASIC”,
configure compression algorithm 'BASIC'
配置默认设备类型来使用压缩,并且并行度为 2:
configure device type disk backup type to compressed backupset
parallelism 2
配置通道:所谓通道:是指由服务器进程发起并控制目标数据库的文件与物理设备之间的字节
流。一个通道即为一个会话,一个会话对应于一个服务器进程。
所有的备份和恢复操作都是由 RMAN 连接的服务器进程完成的,更确切的说:是由通道
完成的。通道的分配主要有两种形式:自动分配通道和手动分配通道。
configure channel 1 device type disk format '' ; configure channel 1
device type disk format '' ;
7、CATALOG 命令 用于追加备份记录到 RMAN 资料库中。
1、RMAN> catalog datafilecopy ''d:\backup\user01.bak'';
RMAN>catalog controlfile ''d:\backup\demo.ctl'';
RMAN> catalog archivelog ''d:\backup\demo_25.bak'';
注册副本;
2、RMAN> catalog backuppiece ''d:\backup\demo_40.dbf'' 注册备份片;
3、RMAN> catalog start with ''d:\bak'' 注册特定目录的所有
备份文件;
4、RMAN> change datafilecopy ''d:\bak\user01.bak'' uncatalog;
RMAN> change controlfilecopy ''d:\bak\demo.ctl'' uncatalog;
RMAN> change backuppiece ''d:\bak\demo_25.bak'' uncatalog;
注销备份记录
8、FORMAT 字符串替代变量:
使用 FORMAT 参数时可使用的各种替换变量,如下:
%d:数据库名称;
%D:位于该月中的天数(DD);
%M:位于该年中的月份(MM);
%F:一个基于 DBID 唯一的名称,这个格式的形式为 c-IIIIIIIIII-YYYYMMDD-QQ,其中
IIIIIIIIII 为该数据库的 DBID,
YYYYMMDD 为日期,QQ 是一个 1-256 的序列;
%n:数据库名称,并且会在右侧用 x 字符进行填充,使其保持长度为 8;
%u:是一个由备份集编号和建立时间压缩后组成的 8 字符名称。利用%u 可以为每个备份集生成一
个唯一的名称;
%p:表示备份集中备份片段的编号,从 1 开始编号;
%c:备份片的拷贝数(从 1 开始编号);
%U:是%u_%p_%c 的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,
这是最常用的命名方式;
%s:备份集的号;
%t:备份集时间戳;
%T:年月日格式(YYYYMMDD);s
注:如果在 BACKUP 命令中没有指定 FORMAT 选项,则 RMAN 默认使用%U 为备份片段命名。
9、手工同步恢复目录:resync catalog;




