RMAN常用命令
一. List命令的使用
列出备份集、数据文件镜像等
列出指定表空间任意数据文件的备份集或镜像副本
列出指定范围内包含归档日志的备份集或镜像副本
RMAN> list backup;
RMAN> list copy;
RMAN> list backup of database;
RMAN> list backup of tablespace uers;
RMAN> list backup of archivelog all;
RMAN> list backup verbose;
#常用
RMAN> list backup summary;
RMAN> list backup of datafile { n | <dir>}
RMAN> list copy of archive from time = 'sysdate - 7';
RMAN> list backup of archivelog from sequence 1000 until sequence 1020;
RMAN> list backupset tag=TAG20101014T155753;
二.Report命令的使用
Report命令显示存储仓库中详细的分析信息
比如,哪些文件需要备份
哪些备份可以被删除
哪些文件不可恢复等
RMAN> report schema;
RMAN> report need backup;
RMAN> report need backup days 3;
RMAN> report need backup redundancy 3;
RMAN> report need backup recovery window of 3 days;
RMAN> report obsolete;
RMAN> report unrecoverable;
RMAN> report schema at time 'sysdate-7';
RMAN> report need backup days 2 tablespace system;
三、Delete命令的使用
删除相关的备份集或镜像副本的物理文件,同时将删除标记delete更新到控制文件.如果使用恢复目录,则是清除恢复目录内的该备份集。
RMAN> delete backupset;
RMAN> delete backupset n;
RMAN> delete obsolete ;
RMAN> delete obsolete redundancy 2;
RMAN> delete noprompt copy;
#常用
RMAN> delete noprompt backupset tag TAG20101016T143521;
RMAN> delete obsolete recovery window of 7 days;
RMAN> delete expired backupset;
RMAN> delete expired copy;
RMAN> delete expired archivelog all;
四、crosscheck命令的使用
用于校验存储仓库中的备份集或镜像副本,执行该命令后,将更新存储仓库中的刚刚校验的对象状态,便于后续操作处理。
RMAN备份校验时的几种状态:
expired: 对象不存在于磁盘或磁带。当一个备份集处于expired状态,则该备份集中所有的备份片同样处于expired状态
available: 对象处于可用状态。当一个备份集可用,则该备份集内的所有备份片同样可用
unavailabe: 对象处于不可用状态。当一个备份集不可用,则该备份集内的所有备份片同样不可用
注:expired不等同于obsolette。两者的差异请参考:文档
校验时的限制:目标数据库必须被启动
对于磁盘上的备份集,校验时不需要使用通道。而磁带上的备份集则必须使用通道,如果未为磁带配置自动通道,则必须手动分配
可以校验执行resetlogs之前的备份,即可以校验不同的incarnation
RMAN> crosscheck backupset; --校验备份集
RMAN> crosscheck copy; --校验镜像副本
RMAN> crosscheck backup of controlfile; --校验备份的控制文件
RMAN> crosscheck backup of archivelog all; --校验所有备份的归档日志
RMAN> crosscheck backup of datafile 1,2; --校验datafile 1,2
RMAN> crosscheck backup of tablespace sysaux,system; --校验表空间sysaux,system
RMAN> crosscheck backup completed between '13-OCT-10' and '23-OCT-10'; --校验时间段,时间段格式由NLS_DATE_FORMAT设置
RMAN> crosscheck backupset 1067,1068; --校验指定的备份集
五、validate命令的使用
验证一个备份集内的数据的完整性。RMAN扫描备份集的所有备份片,并检查校验和,验证其内容是否可以成功还原
validate是较crosscheck更高一级的验证操作.crosscheck仅仅是检查备份集的头部信息,校验文件的存在性,validate验证数据的有效性
RMAN> validate backupset <primary key> [check logical]
check logical测试数据和索引块,将验证得到的逻辑错误填充到V$DATABASE_BLOCK_CORRUPTION 视图
也可以使用restore ... validate 子句来测试可还原性,而非真实的还原数据
六、备份保留策略
保留策略主要是保留备份副本的一些规则,通常用于满足恢复或其他的需要(比如磁盘空间或磁带空间大小限制)。备份保留策略分为冗余和恢复窗口,这两种保留策略互不兼容,要么使用前者,要么使用后者
备份冗余
默认为,可以通过RMAN> configure retention policy to redundancy 2;来修改
当为时,RMAN会为每个数据文件、归档日志、控制文件生成一个备份。可以使用report obsolete命令查看备份数多于的备份并使用delete obsolete来删除过时的备份
恢复窗口
恢复窗口允许完成恢复到过去某个时间点的时点恢复,通常设定为多少天。
使用命令RMAN> configure retetion policy to recovery window of 7 days
该命令将确保具有足够的数据文件和归档日志来执行能够返回一个星期中任意时间点的不完全恢复,且允许删除随着时间推移而变为废弃的备份,即应当满足该条件:SYSDATE - BACKUP CHECKPOINT TIME >= 7
对于大于天但是是恢复所需要的备份依然会被保留
清除备份保留策略
RMAN> configure retention policy clear;
注意obsolete 与expired
obsolete:是指根据保留策略来确定该备份是否在恢复的时候需要,如不在需要或有更新的备份来替代,则该备份集被置为obsolete,即废弃的备份集或镜像副本。
expired: 是指执行crosscheck时,根据存储仓库中记录的备份信息来定位备份集或镜像副本,而找不到对应的备份集或镜像副本,则这些备份集或镜像副本被置为expired。