首页 > 其他分享 >DG中模拟failover故障与恢复

DG中模拟failover故障与恢复

时间:2023-11-27 17:00:43浏览次数:30  
标签:主库 备库 database standby DG failover 故障 SQL alter

 

 转自 路人甲Java  http://www.360doc.com/myfiles.aspx?reg=1&app=1&type=3  
 

问题描述:情形是当主库真正出现异常之后,才会执行的操作,那么我们执行过failover 之后,如何在重新构建DG,这里我们利用flashback database来重构。模拟前主库要开启闪回区,否则要重新搭建DG了

1.由于主库已经不可访问,下面所有的操作都在备库完成,先取消实时同步

SQL> alter database recover managed standby database cancel;

 

 

 2.强制取消redo接收

 

 

 3.确认一下备库

 

 

4.切换为物理主库,然后open,确认一下切换成功,因为原先的主库还没有关闭,可能会产生一些连接,所以现在的状态是GAP,至此failover操作完成,原来的备库已经切换为主库,可以给业务提供服务了

SQL> alter database commit to switchover to primary with session shutdown;

SQL> alter database open;

SQL> select switchover_status,database_role,open_mode from v$database;

 

 

5.failover恢复,在新的主库执行,查询到scn值

SQL> select to_char(standby_became_primary_scn) from v$database;

 

 

 6.在之前的主库现在的备库上执行,我的之前是startup状态,调整一下现在备库的状态

SQL> shutdown immediate

SQL> startup mount

 

 

 7.恢复闪回区scn值

SQL> flashback database to scn 1388059

 

 

 8.更改状态

SQL> alter database convert to physical standby;

 

 

 SQL> shutdown immediate

SQL> startup

 

 

 9.开启实时同步

SQL> alter database recover managed standby database using current logfile disconnect from session;

 

 

 10.分别查看一下主备库的切换状态,以及数据库角色是否正常

SQL> select switchover_status,database_role,open_mode from v$database;

现在的备库:

 

 

 现在的主库:已经不再显示GAP,现在指向备库,到此failover结束

 

11.相关命令

停止实时同步:SQL> alter database recover managed standby database cancel;

强制停掉redo apply:SQL> alter database recover managed standby database finish force;         //危险操作,一旦执行,rfs、mrp进程就会停掉

转换物理备库:SQL> alter database commit to switchover to primary with session shutdown;

查询状态角色:SQL> select switchover_status,database_role,open_mode from v$database;

查询SCN号   :SQL> select to_char(standby_became_primary_scn) from v$database;

闪回到序列号:SQL> flashback database to scn 1388059

切换主库为备库:SQL> alter database convert to physical standby;

开启实时同步:SQL> alter database recover managed standby database using current logfile disconnect from session;

标签:主库,备库,database,standby,DG,failover,故障,SQL,alter
From: https://www.cnblogs.com/redarmy/p/17859784.html

相关文章

  • 【略读论文|时序知识图谱补全】Tucker Decomposition with Frequency Attention for T
    会议:ACL,时间:2023,学校:北京航空航天大学,多伦多大学关键词:基于张量分解;频率注意力;正则化摘要:之前基于张量分解的TKGC模型存在仅独立考虑一种关系与一个时间戳的组合,忽略了嵌入的全局性质的问题。本文的方法:一种频率注意力(FA)模型来捕获一个关系与整个时间戳之间的全局时间依赖性。......
  • 2023版 STM32实战8 独立看门狗(IWDG)
     IWDG简介 STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障。 说人话就是能解决程序跑飞的问题。  编写代码思路 -1-使用这个功能必须解除写保护-2-IW......
  • 群晖安装AdguardHome并启用DoH
    首先群晖套件中心里面没有AdguardHome这个插件,可以通过安装Docker,在docker里面安装AdguardHome。 默认情况下,容器是没有办法使用443端口的,只能换成其他端口。    但换成其他端口的话,Edge浏览器就不能在安全DNS里选择“使用当前服务提供商”了 需要手动输入adguardho......
  • Oracle ADG监控指标设计
    当监控OracleDataGuard环境时,以下是一些更详细的指标和监控方法,可用于确保环境的稳定性和可靠性:数据库角色和状态:主库角色和状态:查询V$DATABASE视图,获取主库的角色和状态信息。主要关注DATABASE_ROLE和OPEN_MODE列。备库角色和状态:查询V$DATABASE视图,获取备......
  • PG游戏助力PS5体验:DualSense Edge控制器面临的挑战
    最近,索尼PS5的用户反馈引起了广泛关注,其中对于其高价手柄DualSenseEdge的使用寿命问题备受瞩目。据报道,一些用户在仅使用不到一年的时间内,就发现了手柄表皮剥落的情况,进而引发了关于其品质和耐久性的争议。DualSenseEdge手柄是PS5的配套产品,以其高度灵敏的触觉反馈和精密的设计而......
  • Android widget简介及demo
    文章目录1、简介2、文件结构3、res->xml->appwidget_info.xml4、main_activity.xml5、AndroidManifest.xml6、MyWidget.java7、WidgetService.java8、MainActivity.java1、简介实现桌面小部件2、文件结构1)appwidget_info.xml定义了widget一些属性2)AndroidManifest.xml定义w......
  • k8s定时备份与故障还原
    Kubernetesetcd定时备份及恢复方案原创 小小平头哥 小小平头哥 2023-11-2311:17 发表于山东收录于合集#云原生相关6个#kubernetes1个#k8s使用技巧3个#k8s5个点关注......
  • 17、Flutter StatelessWidget 、 StatefulWidget
    在Flutter中自定义组件其实就是一个类,这个类需要继承StatelessWidget/StatefulWidget。StatelessWidget是无状态组件,状态不可变的widgetStatefulWidget是有状态组件,持有的状态可能在widget生命周期改变。通俗的讲:如果我们想改变页面中的数据的话这个时候就需要用到StatefulWidg......
  • 【略读论文|时序知识图谱补全】Learn from Relational Correlations and Periodic Eve
    会议:SIGIR,时间:2023,学校:国防科技大学摘要:之前模型存在的问题:未能利用快照内结构信息的关系之间的语义相关性与快照间时间交互沿时间轴的周期性时间模式。本文的工作:提出了一种新的推理模型(RPC);它通过两个新的通信单元,即关系通信单元(RCU)和周期通信单元(PCU),充分挖掘关系关联和周......
  • wxwidgets实战手册-c++(2)
    目录oninitoninit继承自wxApp的子类,可将它视为main和winmain,应用程序的入口//wxWidgets"HelloWorld"Program//Forcompilersthatsupportprecompilation,includes"wx/wx.h".#include<wx/wxprec.h>#ifndefWX_PRECOMP#include<wx/wx.h>......