rman命令中的report命令和list命令使用的信息以及动态性能视图中显示的信息是从RMAN存储库中提取的:
即存储在目标数据库的控制文件中的数据。它没有说明真实性,即备份文件实际是否仍存在。要确认备份是否确实存在,使用crosscheck命令:如下
(1)
RMAN> crosscheck backup of database;
使用通道 ORA_DISK_1
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=D:\ORACLEPX\TOOLS\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013
_08_03\O1_MF_NNNDF_TAG20130803T175947_8ZSO4NQG_.BKP RECID=26 STAMP=822506388
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=D:\ORACLEPX\TOOLS\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2013
_08_03\O1_MF_NNNDF_TAG20130803T175947_8ZSO4N9R_.BKP RECID=29 STAMP=822506388
已交叉检验的 2 对象
以上命令用来查询哪些全部备份时由数据库构成的详细信息,然后存储设备中查看片是否存在。对于磁盘中
的片,读取磁盘目录并验证文件头。对于磁带上的片,只读取磁带目录。
不再存在的片在存储库中被标记为expired.RMAN在计算如何执行还原和恢复操作时不考虑过期的备份。
在有些情况下(例如文件系统或者磁带驱动器脱机),交叉检查可能将许多备份标记为过期的。当设备再使用时
再次运行交叉检查将状态重置为available.
如下:
RMAN> delete expired;
该命令不从磁盘中删除文件。然而,它会从存储库中删除对之前被交叉检查标记为expired的备份的所有引用。在很多安装中,磁带库会根据存储时间自动删除文件;如果发生这种情况,后跟delete expired的交叉检查命令将更新存储库。
使其知道发生了什么事情。
(注:delete expired不会删除任何文件,它只更新RMAN存储库,delete obsolete命令将删除文件并相应的更新存储库)
如下:
(1)在sql*plus下查询闪回恢复区的状态
SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------- ------------------ ------------------------- ---------------
CONTROL FI 0 0 0
LE
REDO LOG 0 0 0
ARCHIVED L 4.49 0 6
OG
BACKUP PIE 7.2 0 5
CE
IMAGE COPY 36.48 0 6
FLASHBACK 0 0 0
LOG
FOREIGN AR 0 0 0
CHIVED LOG
(2)启动rma