线上oracle datagard备库由于断电以及误删除从库的归档日志文件,所以导致,备库主库数据不一致,备库需要紧急恢复,下面是大概恢复过程
1,从主库上面备份控制文件
2,准备备份文件
备份整库,这个步骤可以省去,用今天凌晨3点rman备份好的,而且由于备份目录从库也可以直接访问,所以不用scp了。
3,copy主库的备份到备库同样的目录下面。
这个不用了,备份文件在share磁盘里面,主库备库都可以访问得到。
4,然后关闭从库
SQL> shutdown abort
5,先备份原有的控制文件路径,再copy新的控制文件覆盖备库的控制文件。
5.1备库上查找控制文件路径:
6,将备库实例启动到nomount状态。
启动备库实例:
7,获取备库的tns名字,准备用rman登录
7.1,获取备库的tns:(我的是orcl_s.2_tns)
数据库的当前的数据文件。另外主从路径一致,不需要执行文件路径以及check了
8,看到报错了,去备库,看看实例状态是否为MOUNTED
select status from v$instance;
9,上一步中,如果为MOUNTED,则可以开始启动备库的REDO应用,去从库执行:
alter database recover managed standby database disconnect from session;
总结原因,问了一些前辈:
从ORA-01152: file 1 was not restored from a sufficiently old backup,推测是因为使用的控制文件是今天当前的,
10,等到第二天,用前一天的控制文件,重新执行恢复,步骤如下:
(1) 停止备库:
数据库) 11,附带:删除以前的旧的归档日志:
先移除掉日志:
html
|