oracle之三rman 维护
rman 维护
11.1 rman 使用和维护
11.2 list 命令一览
1)RMAN> list backup;
2)RMAN> list backup of tablespace users;
3)RMAN> list backup of datafile 2;
4)RMAN> list backup of controlfile;
5)RMAN> list backup of archivelog all;
6)RMAN> list backup of archivelog until time ='sysdate -1';
7)RMAN> list backupset 56;
8)RMAN> list datafilecopy all;
9)RMAN> list copy of tablespace users;
10)RMAN> list copy of datafile 1;
11)RMAN> list datafilecopy 67;
12)RMAN> list copy of controlfile;
13) RMAN> list expired backup;
11.3 crosscheck:用于检测备份状态(AVAILABLE:可用;UNAVAILABLE:不可用;EXPIRED:过期(RMAN元数据还记录着,但OS上物理备份已经被删除了)。
AVAILABLE/UNAVAILABLE的转换使用change命令
RMAN> CHANGE BACKUPSET 1 UNAVAILABLE;
是否EXPIRED要经过crosscheck命令才能看到。
RMAN> crosscheck backup;
RMAN> crosscheck copy;
RMAN> crosscheck archivelog all; //核对ctrolfile中记录的archivelog是否存在。
对于EXPIRED状态的产生,与crosscheck命令是密切相关的,RMAN通过crosscheck命令检查备份是否存在于备份介质上,如果不存在,则状态由AVAILABLE改为EXPIRED(duplex一个
道理)。
例:可以试一下将某文件的备份在os下重命名,再使用crosscheck进行检查,然后再复原其命名,观察AVAILABLE--EXPIRED--AVAILABLE过程
RMAN>delete expired backup; //删除所有过期的备份。
元数据有而实际备份没有,这叫expired,也可以反过来,让备份有而元数据没有。
RMAN> change backuppiece 11 uncatalog; //11号备份片从RMAN元数据中删掉了,但物理备份xxx.bak还在。
RMAN> catalog backuppiece '/u01/myrman/xxx.bak'; //将11号备份片又登记到RMAN元数据中了。
*考点:DELETE EXPIRED命令不删除任何文件,它只更新RMAN存储库(元数据), DELETE OBSOLETE命令将删除文件并更新存储库。
11.4 report 报告命令一览
RMAN> REPORT schema; //查看目标库的物理结构
RMAN> REPORT schema at time|scn|sequence; //at子句必须在catalog里使用(考点)
RMAN> REPORT need backup; //根据当前备份保留策略,列出哪些数据文件需要备份。
RMAN> REPORT NEED BACKUP DAYS n //使N天取代当前备份保留策略,列出哪些数据文件需要备份
RMAN> REPORT obsolete; //根据备份冗余策略来判断,那些备份是陈旧的(obsolete)
RMAN> REPORT NEED BACKUP incremental 3; //三天以来尚未进行备份的文件:
RMAN> REPORT NEED BACKUP redundancy 2; //如果不具有两个或更多个备份则需要进行备份:
RMAN> REPORT NEED BACKUP recovery window of 3 days; //需要进行备份以恢复到三天前的数据状态:
RMAN> REPORT OBSOLETE REDUNDANCY 2; //如果需要的备份副本不多于两个,列出作废的恢复文件:
RMAN> REPORT UNRECOVERABLE DATABASE; //备份文件中的表,采用了nologging属性,那么该数据文件是不能恢复的
要理解区分这两组形式:
1)REPORT NEED BACKUP 和 REPORT NEED BACKUP DAYS n
REPORT NEED BACKUP //按照保留策略出报告
REPORT NEED BACKUP DAYS n //按照N天出报告
关于REPORT NEED BACKUP DAYS n,联机文档中描述是:
“Displays files that require more than n days' worth of archived redo log files for recovery”。
RMAN基于这样的考虑,要保证恢复n天内任意一时间点的数据,如果缺少n天前的备份及归档日志,就将它们列出来。
2)REPORT OBSOLETE 和 REPORT UNRECOVERABLE DATABASE
REPORT OBSOLETE 根据保留策略计算出那些备份集是废弃的。
REPORT UNRECOVERABLE DATABASE
如果一个文件做过备份,其后在这个文件上创建的表采用了nologging属性,表插入数据没有记日志,那么是不能恢复的,这个表所在的文件就是report unrecoverable database要列出来的文件
11.5 delete 删除备份命令一览
RMAN> delete backup of datafile 2;
RMAN> delete backup of tablespace system;
RMAN> delete backupset ;
RMAN> delete backupset 30,32;
RMAN> delete backup of controlfile;
RMAN> delete noprompt backup of controlfile; //删除noprompt 不提示
RMAN> delete datafilecopy all;
RMAN> delete copy of datafile 10;
RMAN> delete copy of tablespace users;
RMAN> delete expired backup; //删除过期的备份
RMAN> delete expired archivelog all; //删除过期的归档, 更新v$archived_log视图
RMAN> delete expired copy;
RMAN> delete obsolete; //删除陈旧的备份
RMAN> delete noprompt obsolete; //删除不加提示