1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > oracle dg备份恢复 DG丢失归档 使用增量备份恢复一例

oracle dg备份恢复 DG丢失归档 使用增量备份恢复一例

时间:2023-03-02 14:51:24

相关推荐

oracle dg备份恢复 DG丢失归档 使用增量备份恢复一例

5.备份好之后,从主库传到备份库的目录中,可以与上文的目录不同。

RMAN> CATALOG START WITH '/tmp/stb_bk/';

6.查看一下controlfile的位置,因为接下来要使用备份的控制文件。

idle> show parameter control

再查看一下standby_log文件的位置,因为接下来可能需要重建。

idle> select *from v$logfile ;

7.使用如下命令在rman中恢复

RMAN> run{

restore standby controlfile to '/tmp/stb_controlfile01.ctl' ;

recover database noredo;

}

如果报如下错误,可能是recover managed standby命令正在执行:

ORA-19870: errorwhile restoring backup piece /tmp/stb_bk/05n5a31s_1_1_for_stb.bk

ORA-19573: cannotobtain exclusive enqueue for datafile 1

执行如下命令,或者重启数据库到mount状态:

idle>alter database recover managed standby database cancel ;

然后在rman中再次执行:

RMAN>

run{

restore standby controlfile to '/tmp/stb_controlfile01.ctl' ;

recover database noredo;

}

8.关闭数据库,将恢复出来的备份控制文件覆盖掉原有的控制文件。

shutdown immediate

[Oracle@rhel6_3stb_bk]$ cp /tmp/stb_controlfile01.ctl /u01/hell/controlfile/hell01.ctl

[oracle@rhel6_3stb_bk]$ cp /tmp/stb_controlfile01.ctl /u01/hell/controlfile/hell02.ctl

9.启动到mount

idle>startup mount ;

这里有一点要注意,因为使用的是standby controlfile,所以所有log文件(包括standby_log)的位置,是由主库的参数LOG_FILE_NAME_CONVERT来决定的。例如主库的参数

LOG_FILE_NAME_CONVERT=/u01/hell/datas/,/u01/apps/oracle/oradata/dex/

那么位于/u01/apps/oracle/oradata/dex/standby1.log这个文件在使用standby_controlfile恢复中会被转换为/u01/hell/datas/standby1.log,如果没有在/u01/apps/oracle/oradata/dex/这个路径下,就会按照原路径恢复。所以如果想要定制standby_log的位置,需要重新建立standby_log文件。

接下来

idle>alter database recover managed standby database disconnect ;

10.千万不要以为结束了,既然丢失了归档,数据库还是进行一次全备吧。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。