Oracle DG(DataGuard)中,角色转换包括Switchover和Failover两种。Switchover相对比较简单和常见,这里不做赘述。这里,本文仅就Failover及然后将Failed Primary Database转换为Physical Standby Database的操作和过程做介绍和说明。
一.备库Failover为主库
1.主库失败 
--我们kill掉主库的lgwr进程模拟主库失败。
$ ps -ef | grep lgwr 
$ kill -9 6792

2.备库停止恢复应用
$ sqlplus / as sysdba
--停止恢复应用进程
SQL> alter database recover managed standby database cancel;
--检查备库切换状态和角色
SQL> select switchover_status,database_role from v$database;
--注:
1)上述SQL查询结果中转换状态为“NOT ALLOWED”。

3.备库应用所有已接收日志
--应用所有已接收日志
SQL> alter database recover managed standby database finish;
--检查备库转换状态和角色
SQL> select switchover_status,database_role from v$database;
--注:
1)上述SQL查询结果中转换状态变为“TO PRIMARY”,说明当前备库可以切换为主库。

4.备库切换为主库
--备库切换为主库
SQL> alter database commit to switchover to primary with session shutdown;
--打开数据库
SQL> alter database open;
--检查备库转换状态和角色
SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS DATABASE_ROLE
       -------------------- ----------------
       RESOLVABLE GAP    PRIMARY
--注:
1)上述SQL查询结果中数据库角色变为PRIMARY,说明备库已转换为主库,Failover成功。

二.原主库恢复上线后切换为备库
备库Failover为主库后,原主库故障解决并重新启动上线,其角色仍然是Primary,由于原备库已转换为Primary,因此,需要将原主库转换为备库,转换方法主要包括如下三种:
1)以当前新主库为基础,重新搭建备库(参照DG搭建文档,此处不再赘述)。
2)利用Oracle Flashback,将原主库转换为备库。
3)通过rman备份,将原主库转换为备库。
1.用Flashback技术将原主库转换为备库
1)新主库上获取原备库转换成主库时的SCN
SQL> select to_char(standby_became_primary_scn) from v$database;
2)根据1)中查询的SCN将原主库闪回至该SCNFlash back
SQL> shutdown immediate
SQL> startup mount
SQL> flashback database to scn 7879981;  
--注:
1)由此可见,该方法的前提数据库的flashback_on的特性已开启,开启命令为:alter database flashback on。
3)原主库转换为备库
SQL> alter database convert to physical standby;
SQL> shutdown immediate
SQL> startup
4)新备库(原主库)启用恢复应用进程
SQL> alter database recover managed standby database using current logfile disconnect from session;

2.通过RMAN将原主库转换为备库
1)新主库上获取原备库转换成主库时的SCN
SQL> select to_char(standby_became_primary_scn) from v$database;
2)根据1)中查询的SCN将原主库恢复到该SCN
RMAN > run
      {set until scn <7879981+1>;  
       restore database;            
       recover database;
      }
3)原主库转换为备库
SQL> alter database convert to physical standby;
SQL> shutdown immediate
SQL> startup mount
SQL> alter database open read only;
4)备库启用恢复应用进程
SQL> alter database recover managed standby database using current logfile disconnect from session;

Oracle DG主库失败Failover参考相关推荐

  1. oracle rac 主库,oracle11gRAC+DG主库增加数据文件

    oracle11gRAC+DG主库增加数据文件 oracle11gRAC+DG主库增加数据文件 # 环境 操作系统 $ uname -a Linux jinhu-db02 2.6.32-696.el6 ...

  2. ORACLE DG专题3--手把手部署DG 物理备库

    前言 笔者前文已介绍了ORACLE DG的成员身份与数据保护模式等相关理论知识,从本文开始,将进入ORACLE DG理论与实践相结合模式,深入理解ORACLE DG的内在原理与基本运维技能.本文讲述如 ...

  3. oracle dg 日志手动应用,做了DG之后,日志没有被应用

    您好 我把主从做了DG之后,然后主库生成一个日志,可以传送到备机 但是备机可能在做DG过程失败的时候,有一个日志有问题,请问如何解决这个日志? 一直被卡在这里. 主库 SQL> select p ...

  4. Oracle中dg日志同步,oracle DG 日志传输小结

    1. 日志传输方式 有两种日志传输方式(ARC和LGWR),第一种是采用ARC进程传输日志,其示意图如下: 注:上图来自<大话Oracle RAC> 其大致过程如下: 1)主库:日志先写入 ...

  5. oracle DG日志传输模式详解

    原文来自http://blog.itpub.net/31520497/viewspace-2156783/ 1. 日志传输方式 有两种日志传输方式(ARC和LGWR),第一种是采用ARC进程传输日志, ...

  6. Oracle DG 之--DG Broker 配置基本概念

    Oracle DG 之DG Broker 配置 系统环境: 操作系统: RedHat EL55_64 Oracle:    Oracle 11.2.0.3.0 Data Guard 配置: 主库bjd ...

  7. oracle dg备库关机,Oracle DG 备库 STANDBY 日志传输小结

    1. 日志传输方式 有两种日志传输方式(ARC和LGWR),第一种是采用ARC进程传输日志,其示意图如下: 注:上图来自<大话Oracle RAC> 其大致过程如下: 1)主库:日志先写入 ...

  8. 记Oracle DG Gap解决方案

    记Oracle DG Gap解决方案 背景介绍 实验环境 主从配置 模拟故障 故障定位 gap解决方案 背景介绍 日常的数据库运维过程中,我们常常会遇到DG GAP同步异常的场景.解决的思路主要有: ...

  9. oracle dg状态查询,oracle dg状态检查及相关命令

    oracle dg状态检查 先检查备库的归档日志同步情况 SELECT NAME,applied FROM v$archived_log; alter database recover managed ...

  10. oracle dg巡检,oracle dg状态检查及相关命令

    oracle dg状态检查 先检查备库的归档日志同步情况 SELECT NAME,applied FROM v$archived_log; alter database recover managed ...

最新文章

  1. Java多线程的同步机制(synchronized)
  2. ssm中怎么使tomcat一起动就执行一个controller_【200期】面试官:你能简单说说 SpringMVC 的执行原理吗?...
  3. strcpy和strncpy区别 memcpy strcpy strncpy lstrcpy lstrncpy wstrcpy, memmove
  4. 【Compiling Swift source files】编译很慢;
  5. C++来了,详细知识点思维导图!
  6. ASP.Net Core Razor 页面路由
  7. 线性表(代码、分析、汇编)
  8. 源代码 到 可执行程序的过程
  9. 我们的内存中都放了什么
  10. 安装了opencv,怎么一直报错:找不到CAP_PROP_FRAME_COUNT
  11. PB50打印机测试结果:霍尼韦尔 、intermec 打印机不能买
  12. Unity3D流体插件FluidSim使用总结
  13. AcrelEMS-IDC综合能效管理系统 XXX数据中心案例分享
  14. 蓝牙计算机操作与设置在哪里,win7电脑蓝牙在哪里打开_win7笔记本怎么开蓝牙
  15. Java迷宫小游戏,老程序员花一天时间完成,你可以吗?
  16. 关于阿里矢量图标的普通无色和彩色的使用方法
  17. Win10系统如何打开Guest账户?
  18. [JavaSE] 数据类型(变量、整形、长整型、双精度浮点、单精度浮点、字符、字节)
  19. 【龙印】把龙芯1c的pwm用作定时器并产生中断
  20. Java、JSP基于Web的师生互动系统的设计与实现

热门文章

  1. Dynamic Graph Attention for Referring Expression Comprehension 論文閲讀筆記
  2. Rust语言——Package、Crate、Module
  3. UTC世界协调时间和BJT北京时间的转换
  4. LBT(CCA) in LAA/Multefire (二)
  5. Java项目:问卷调查系统(java+SSM+layui+JSP+Mysql)
  6. 电脑连上了WIFI,但是却没有网(前提WIFI没有问题)
  7. 华为推出打车平台 Petal,科技大厂再战聚合打车
  8. 使用腾讯tapd工具,进行创建迭代任务、任务拆解、、制定整体发布计划、多维度甘特图进度把控
  9. XCTF-攻防世界CTF平台-Web类——19、mfw(.Git源代码泄露、php的assert断言)
  10. 鸿蒙造化体内微粒,开辟鸿蒙,谁为情种?