ORACLE RAC DG文件路径错乱解决办法

最近接手了一个客户的RAC-RAC dg环境的维护,登录上去之后发现dg延迟了8天,由于主库的空间非常紧张,归档日志早就删除了,所以准备使用rman基于scn点的备份恢复的方案恢复dg同步

在备份完成之后,使用新的控制文件进行数据恢复的时候报错datafile 43 not found:ORACLE RAC DG文件路径错乱解决办法_第1张图片

检查了一下发现当时这个dg实施的文件路径放乱了,部分数据文件在+data01/orcl下(数据库别名),部分文件在orcl_old下:ORACLE RAC DG文件路径错乱解决办法_第2张图片

由于使用了新的控制文件,又没有配置convert导致现在不知道文件的对应关系.

这个时候可以使用rman copy的方式自动将数据文件做转换:

1.rman catalog将所有的数据文件注册一下

RMAN>catalog start with '+data01';

2.查看数据文件的copy

已经存在的正确的数据文件,rman自动不会认为是copy副本,只有没有的文件才会当作数据文件副本,例如下面的datafile 43由于文件位置和controlfile中的不一致,所以自动把data01/磁盘组其它目录下的文件作为datafile copy了:ORACLE RAC DG文件路径错乱解决办法_第3张图片

3.使用swith datafile命令将datafile切换到copy

将上面的信息拷贝到文件中,使用awk生成switch datafile命令:ORACLE RAC DG文件路径错乱解决办法_第4张图片

再在rman中进行switch:​​​​​​​ORACLE RAC DG文件路径错乱解决办法_第5张图片

4.开启恢复

ORACLE RAC DG文件路径错乱解决办法_第6张图片

你可能感兴趣的:(oracle,troubleshoting,oracle,dataguard,oracle,数据库)