博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle DG故障诊断一则:alter database recover to logical standby new_logical_dbname卡住
阅读量:5337 次
发布时间:2019-06-15

本文共 968 字,大约阅读时间需要 3 分钟。

我们在基于物理standby的基础上搭建逻辑备库过程过程中,在运行:

alter database recover to logical standby READDB;
卡住不动,而且alert也没有报错信息,无比郁闷,咨询了别人,聊天记录例如以下:

我们的业务是passport应用,无法停止或者停掉很麻烦,总之,药不能停。

经过摸索,我们得到一个经验:须要等到MRP应用日志到跟主库一致,此时运行该命令才不会hang住。

详细流程大概是这种:

1. 开启实时日志应用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION
    在这个过程中,我们能够边查看日志应用情况,在备库运行例如以下命令:

SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
    直到主备日志一致,推断SQL例如以下:

     在主库运行:

archive log list
     在备库运行:

select max(sequence#) from v$archived_log;
     依据这2个值就可以推断日志是否一致

2. 接着,我们须要在备库停掉MRP进程:

alter database recover managed standby database cancel;
    注意,此时假设报错,例如以下所看到的,能够不必在意,由于我们主备日志已经一致,MRP能够为idle

ERROR at line 1:ORA-16136: Managed Standby Recovery not active

3. 然后,我们能够在主库生成数据字典

exec dbms_logstdby.build;
  我们须要让数据字典传输到备库,因此我们还须要却下日志:

alter system archive log current;
4. 最后,大功告成 :-)

alter database recover to logical standby READDB;

Good Luck!

转载于:https://www.cnblogs.com/hrhguanli/p/4554593.html

你可能感兴趣的文章
flask form表单验证
查看>>
DIV+CSS 图文混排的图片居中办法
查看>>
Java transient关键字使用小记
查看>>
ubuntu下nginx的启停等常用命令
查看>>
JavaSE 键盘事件类(KeyEvent)实现
查看>>
设计模式-缓存工厂模式代码构造
查看>>
PMF:为何硅谷大神把它念奉为创业公司“唯一重要的东西”
查看>>
CSS框模型
查看>>
SurfaceView 绘制分形图
查看>>
如何实现从网络获取图片的缓存机制
查看>>
数据结构--散列(使用开放定址法解决冲突)
查看>>
通俗易懂的支持向量机SVM
查看>>
2014全国大学生赛事
查看>>
div 绝对布局居中
查看>>
css overflow:hidden无效解决办法
查看>>
Java设计模式(21)——行为模式之备忘录模式(Memento)
查看>>
数据挖掘领域的十大经典算法
查看>>
Python 基础语法
查看>>
序列化与反序列化二叉树
查看>>
创建型模式-单例模式
查看>>