oracle数据库找不到主库,Oracle DG 主库丢失归档

DG 主库丢失归档

主要原因就是备库没有APP呢,主库就误把归档删除了。常见的这种情况都是主库RMAN做备份的时候把归档删除了。

丢失归档解决方法:用RMAN 增量备份恢复,还有恢复控制文件。

备库:

SQL> select sequence#,applied from v$archived_log;

SEQUENCE# APP

---------- ---

69

YES

70

YES

71

YES

72

YES

73

YES

74

YES

75

YES

76

YES

77

YES

78

YES

79 YES

SEQUENCE# APP

---------- ---

86

NO

87

NO

从这里我们可以看出2个问题:

1、

从80到85 sequence# 没有记录了,这里就是主库的归档丢失了,都没有传输到备库上。

2、

86,87 sequence# 传输过来了,证明归档过来了,但是没有应用(这里执行命令恢复:alter database recover managed standby database disconnect from session 执行后还是没有同步因为这里的GAP不同了,所以DG不应用回来传输过来的日志)。这个问题就是因为前面的归档丢失了,所以后面到来的归档也没有办法应用。

解决方法:

一、备库

查看当前的SCN号:

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

528205

二、主库

进行RMAN增量备库:

Rman>

backup as compressed backupset incremental from SCN

528205

database format '/u01/standby_%d_%T_%U.bak'

include current controlfile for standby filesperset=5

tag 'FOR STANDBY';

(一条命令增量备份,同时也备份了控制文件。)

三、备库

进行恢复数据,恢复控制文件:

1、把增量备份SCP到备库上,并且用 CATALOG START WITH ‘/u01/’; 注册。

2、然后进行恢复。

Alter database recover managed standby database disconnect from session;

Alter database recover managed standby database cancel;

RMAN> run {

allocate channel dsk0 type disk;

allocate channel dsk1 type disk;

allocate channel dsk2 type disk;

restore standby controlfile to '/u01/control01.ctl';

recover database noredo;

}

然后

shut immediate

把控制文件覆盖原控制文件。

然后

startup mount

Alter database recover managed standby database disconnect from session;

四、主库

切换即可,然后查看备库的归档应用状态。

Select sequence#,applied from v$archived_log;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值