一、相关查询命令
1.List 当前RMAN所备份的数据库
RMAN> list incarnation;
汇总查询:–如果备份文件多的话多用这两个list命令可以对备份文件有个总体了解。
1.1. list backup summary; –概述可用的备份
B 表示backup
A 表示Archivelog、 F 表示full backup、 0,1,2 表示incremental level备份
A 表示可用AVALIABLE、 X 表示EXPIRED
这个命令可以派生出很多类似命令,例如
list backup of database summary
list backup of archivelog all summary
list backup of tablespace users summary;
list backup of datafile n,n,n summary
这些命令可以让我们对已有的备份文件有一个整体,直观的了解。
1.2.list backup by file;–按照文件类型分别列出
分别为:数据文件列表、归档日志列表、控制文件列表、SPFILE列表
1.3.list backup;
这个命令列出已有备份集的详细信息。
1.4.list expired backup;
列出过期的备份文件
1.5.list copy;
列出copy文件
list copy of database;
list copy of controlfile;
list copy of tablespace users;
list copy of datafile n,n,n;
list copy of archivelog all;
list copy of archivelog from scn 10000;
list copy of archivelog until sequence 12;
2. List 相关文件的信息
list backup of {archivelog, controlfile, database, datafile, spfile, tablespace};
list backup of database; –full,incremental,tablespace,datafile
2.1服务器参数文件:
list backup of spfile;
2.2 控制文件:
list backup of controlfile;
2.3 数据文件:
list backup of datafle n,n,n,n;
2.4表空间:
list backup of tablespace tablespace_name;–表空间对应的backup
2.5归档日志:
list backup of archivelog {all, from, high, like, logseq, low, scn, sequence, time, until};
list backup of archivelog all;
list backup of archivelog until time ‘sysdate-1’;
list backup of archivelog from sequence 10;
list backup of archivelog until sequence 10;
list backup of archivelog from scn 10000;
list backup of archivelog until scn 200000;
list archivelog from scn 1000;
list archivelog until scn 2000;
list archivelog from sequence 10;
list archivelog until sequence 12;
二、RMAN常用检查命令
1、report常用命令总结备忘
report用于判断数据库当前可恢复状态、以及数据库已有备份的信息。最常使用的是report obsolete; report schema;
report {device, need, obsolete, schema, unrecoverable}
report schema;
report obsolete;
report unrecoverable;
report need backup;
report need backup days=3; –报告最近3天内没有备份的文件
report need backup redundancy=3; –报告冗余次数小于3的数据文件。
report need backup recovery window of 2 days;
1.1.report schema;
报告数据库模式
1.2.report obsolete;
报告已丢弃的备份集(配置了保留策略)。
1.3.report unrecoverable;
报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已经过期)
1.4.report need backup;
报告需要备份的数据文件(根据条件不同)
report need backup days=3;
–最近三天没有备份的数据文件(如果出问题的话,这些数据文件将需要最近3天的归档日志才能恢复)
report need backup incremental=3;
–需要多少个增量备份文件才能恢复的数据文件。(如果出问题,这些数据文件将需要3个增量备份才能恢复)
report need backup redundancy=3;
–报告出冗余次数小于3的数据文件
–例如数据文件中包含2个数据文件system01.dbf和users01.dbf.
–在3次或都3次以上备份中都包含system01.dbf这个数据文件,而users01.dbf则小于3次
–那么,报告出来的数据文件就是users01.dbf
–即,报告出数据库中冗余次数小于 n 的数据文件
report need backup recovery window of 2 days;
–报告出恢复需要2天归档日志的数据文件
2、crosscheck 命令
2.1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
2.2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
2.3 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
2.4 示例:
crosscheck backup
crosscheck backup of datafile 1;
crosscheck backup of tablespace users;
crosscheck backup of controfile;
crosscheck backup 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;
3、validate 命令
3.1 validate 命令验证备份集片是否能够被还原
3.2 list backup summary; 得到了备份集得主键ID如40,然后validate backupset 40;
三、备份保存策略以及change ,delete命令
0.带delete参数的change 命令删除备份集,从备份介质,并且从控制文件和恢复目录中删除。
change backupset 117,118 delete;
change backuppiece 1304 delete;
change archivelog until logseq =544 delete;
1.两类策略:恢复窗口备份保存策略(recovery windows backup retension policy) 基于时间
备份冗余备份保存策略(backup redundancy backup retension policy) 基于备份的数量
两类策略互相排斥
2.即使使用了备份保存策略,备份到期并不删除,只是在RMAN目录中标记为丢弃,看到的状态依旧为available;要查看标记为丢弃的备份 report obsolete,只有使用delete obsolete才真正物理删除。
3.configure retension policy to recovery window of 7 days;configure retension policy to redundancy 3;显示结果 show all;
4.查看到期丢弃的备份时,可能需要手工保存一些备份,可以使用change 命令带keep 参数,使用这个命令后,那些被修改的备份将被认为是个long-term backup,不在受保存策略影响也就是说delete obsolete 也不删除。
5.要使备份时候不受保存策略影响 ,使用带keep参数的backup 命令
backup database keep forever;
backup database keep 5 days;
6.change 命令功能
可以修改备份为永久保存并将以及该备份的相关的日志保存下来,保证总能将备份恢复到当前时间点
change backupset 31 keep forever logs;
可以设置备份丢弃的新日期 ,将备份在多保存7 天,7 天后将删除
change backupset 32 keep until time ‘sysdata + 7’ logs;
change 可以将备份集设置为unavailable
change backupset 33 unavailable;
标记为unavailable状态的备份集并不参与crosscheck;
四、CONFIGURE常用命令总结备忘
4.1 显示当前的配置信息
4.1.1 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 ‘D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SNCFDBA.ORA’; # default
4.1.2 查询RMAN设置中非默认值:
SQL> select name,value from v$rman_configuration;
4.2. 常用的configure选项
4.2.1 保存策略 (retention policy)
configure retention policy to recovery window of 7 days;
configure retention policy to redundancy 5;
configure retention policy clear;
CONFIGURE RETENTION POLICY TO NONE;
第一种recover window是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。
第二种redundancy 是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。它的默认值是1份。
第三四:NONE 可以把使备份保持策略失效,Clear 将恢复默认的保持策略
4.2.2 备份优化 backup optimization
configure backup optimization on;
configure backup optimization off;
configure backup optimization clear;
–默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。
4.2.3 默认设备 default device type
configure default device type to disk;
configure default device type to stb;
configure default device type clear;
–是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘,磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;
4.3.4 控制文件 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;
–强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。
4.3.5 并行数(通道数) device type disk|stb pallelism n;
configure device type disk|stb parallelism 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 2 device type disk format ‘e/:rmanback_%U’;
configure channel 1 device type disk maxpiecesize 100m
–配置数据库设备类型的并行度。
4.3.6 生成备份副本 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’;
–是配置数据库的每次备份的copy数量,oracle的每一次备份都可以有多份完全相同的拷贝。
4.3.7 排除选项 exclude
configure exclude for tablespace ‘users’;
configrue exclude clear;
–此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。
4.3.8 备份集大小 maxsetsize
configure maxsetsize to 1G|1000M|1000000K|unlimited;
configure maxsetsize clear;
4.3.9 其它选项 auxiliary
CONFIGURE AUXNAME FOR DATAFILE 1 TO ‘/oracle/auxfiles/aux_1.f’;
CONFIGURE AUXNAME FOR DATAFILE 2 TO ‘/oracle/auxfiles/aux_2.f’;
CONFIGURE AUXNAME FOR DATAFILE 3 TO ‘/oracle/auxfiles/aux_3.f’;
CONFIGURE AUXNAME FOR DATAFILE 4 TO ‘/oracle/auxfiles/aux_4.f’;
CONFIGURE AUXNAME FOR DATAFILE 1 CLEAR;
CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR;
CONFIGURE AUXNAME FOR DATAFILE 3 CLEAR;
CONFIGURE AUXNAME FOR DATAFILE 4 CLEAR;