输出日志:
[oracle@tiger script]$ cat rman_db.sh
exportORACLE_HOME=/u01/oracle/product/11.2.0.4
export ORACLE_SID=TIGER
rman target / cmdfile=/u01/rman/script/rman_db.rcv msglog=/u01/rman/script/rman_full_`date+%Y-%m-%d`.log
[oracle@tiger script]$
Catalog:
1、注册副本
catalog datafilecopy 'c:\';
2、注册备份片
catalog backuppiece 'c:\demo_10.dbf' ;
3、注册特定目录的所有备份文件
catalog start with 'c:\bak';
4、注销备份记录
change datafilecopy 'c:\' uncatalog;
change controlfilecopy 'c:\' uncatalog;
change backuppiece 'c:\demo_10.bak' uncatalog;
5、注册归档日志
catalog archivelog '/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423';
cataloged archived log
archived log file name=/u01/CCBPROD/oracle/oradata/archive/thread_2_seq_12307.2161.899944423 RECID=9578 STAMP=900068071
Crosscheck:
crosscheck backup 核对所有备份集;
crosscheck backup of database 核对所有数据文件的备份集;
crosscheck backup of tablespace users 核对特定表空间的备份集;
crosscheck backup of datafile 4 核对特定数据文件的备份集;
crosscheck backup of controlfile 核对控制文件的备份集;
crosscheck backup of spfile 核对SPFILE的备份集;
crosscheck backup of archivelog sequence 3 核对归档日志的备份集;
crosscheck copy 核对所有映像副本;
crosscheck copy of database 核对所有数据文件的映像副本;
crosscheck copy of tablespace users 核对特定表空间的映像副本;
crosscheck copy of datafile 6 核对特定数据文件的映像副本;
crosscheck copy of archivelog sequence 4 核对归档日志的映像副本;
crosscheck copy of controlfile 核对控制文件的映像副本;
crosscheck backup tag='SAT_BACKUP';
crosscheck backup completed after 'sysdate - 2'
crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
crosscheck backup device type sBT;
crosscheck archivelog all;
crosscheck archivelog like '%ARC00012.001'
crosscheck archivelog from sequence 12;
crosscheck archivelog until sequence 522;
Delete:
1、删除陈旧备份
delete obsolete; #提示
delete noprompt obsolete; #不提示
2、删除EXPIRED备份集
delete noprompt expired backup;
3、删除EXPIRED副本
delete noprompt expired copy ;
4、删除特定备份集
delete noprompt backupset 19;
5、删除特定备份片
delete noprompt backuppiece 'c:\test\';
6、删除所有备份集
delete noprompt backup ; 或者
delete noprompt backupset;
7、删除特定映像副本
delete noprompt datafilecopy 'c:\test\'; 删除数据文件
delete noprompt controlfilecopy 'c:\test\controlfile_bak.ctl'; 删除控制文件
delete noprompt archivelog 'c:\test\'; 删除归档日志
delete noprompt force archivelog all completed before 'sysdate - 7';
8、删除所有映像副本
delete noprompt copy;
9、在备份后删除输入对象
backup archivelog all delete input ;
backup backupset 22 format='c:\test\%' delete input ;
10、delete expired archivelog all;就是同步控制文件的信息和实际物理文件的信息。
Report:
RMAN> report schema 报告目标数据库的物理结构;
RMAN> report need backup days=3; 报告最近3天没有被备份的数据文件;
RMAN> report need backup days 3 tablespace users; 在USERS表空间上3天未备份的数据文件;
RMAN> report need backup incremental 3; 报告恢复数据文件需要的增量备份个数超过3次的数据文件;
RMAN> report need backup redundancy 2 database; 报告备份文件低于2份的所有数据文件;
RMAN> report need backup redundancy=2;
RMAN> report need backup recovery window of 6 days; 报告文件报表的恢复需要超过6天的归档日志的数据文件;
RMAN> report unrecoverable; 报告数据库所有不可恢复的数据文件;
RMAN> report obsolete redunndancy 2; 报告备份次数超过2次的陈旧备份;
RMAN> report obsolete; 报告多余的备份;
List:
列出数据文件备份集
RMAN> list backup 列出详细备份;
RMAN> list expired backup; 列出过期备份;
RMAN> list backup of database; 列出所有数据文件的备份集;
RMAN> list backup of tablespace user01; 列出特定表空间的所有数据文件备份集;
RMAN> list backup of controlfile 列出控制文件备份集;
RMAN> list backup of archivelog all 列出归档日志备份集详细信息;
RMAN> list archivelog all;列出归档日志备份集简要信息
RMAN> list backup of spfile 列出SPFILE备份集;
RMAN> list copy of datafile 5 列出数据文件映像副本;
RMAN> list copy of controlfile 列出控制文件映像副本;
RMAN> list copy of archivelog all 列出归档日志映像副本;
RMAN> list incarnation of database 列出对应物/列出数据库副本;
RMAN> list backup summary; 概述可用的备份;
表示backup
表示FULL
表示archive log
表示incremental backup
说明备份状态(A AVAILABLE X EXPIRED )
MAN> list backup by file 按备份类型列出备份;
按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出
Show:
RMAN> show all;
RMAN configuration parameters for database with db_unique_name PRODS are:
RETENTION POLICY TO REDUNDANCY 1; # default
是用来决定那些备份不再需要了,它一共有三种可选项,分别是
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
CONFIGURE RETENTION POLICY TO NONE;
第一种recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。
第二种redundancy 是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。它的默认值是1份。
第三种不需要保持策略,clear将恢复回默认的保持策略。
一般最安全的方法是采用第二种保持策略
BACKUP OPTIMIZATION OFF; # default
默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。
DEFAULT DEVICE TYPE TO DISK; # default
是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘
磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;
CONTROLFILE AUTOBACKUP OFF; # default
强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。
CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
是配置控制文件的备份路径和备份格式
DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
是配置数据库设备类型的并行度。
DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是配置数据库的每次备份的copy数量,oracle的每一次备份都可以有多份完全相同的拷贝。
ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
是设置数据库的归档日志的存放设备类型
MAXSETSIZE TO UNLIMITED; # default
备份集大小 maxsetsize
configure maxsetsize to 1G|1000M|1000000K|unlimited;
configure maxsetsize clear;
ENCRYPTION FOR DATABASE OFF; # default
ENCRYPTION ALGORITHM 'AES128'; # default
COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
ARCHIVELOG DELETION POLICY TO NONE; # default
SNAPSHOT CONTROLFILE NAME TO '/u01/CCBPROD/oracle/product/11.2.0.4/dbs/snapcf_PROD.f'; # default
RMAN>
Change: