巡检发现客户备库的磁盘满了,且DG出现多处GAP,主库每天备份一次,直接考虑重新恢复备库,库不大,也就58G。
DB:11.2.0.1.0
OS:Microsoft Windows [版本 6.0.6002]
#主库生成新的备库控制文件并传至备库
RMAN> backup device type disk format 'D:\standby_control.bak' current controlfile for standby;
#关闭备库,重建控制文件
SQL> shutdown immediate;
SQL> startup nomount;
RMAN> restore standby controlfile from 'D:\backup\standby_control.bak';
RMAN> alter database mount;
#注册相关备份信息并删除过期备份
RMAN> CATALOG START WITH 'D:\backup';
RMAN> CROSSCHECK BACKUP;
RMAN> DELETE EXPIRED BACKUP;
#恢复数据文件
run
{
allocate channel d1 device type disk;
set newname for database to 'D:\app\Administrator\oradata\msk_stby\%b';
restore database;
switch datafile all;
release channel d1;
}
------------------------------------>
set newname for database to 'D:\app\Administrator\oradata\msk_stby\%b';会将所有的数据文件还有在线日志文件放到D:\app\Administrator\oradata\目录下