【DG】DG之Switchover和Failover的区别

【DG】DG之Switchover和Failover的区别






Dataguard中的role transition:switchover和failover以及将failover后的old primary flackback成physical standby库

  Dataguard中的role transition包括两种:switchover和failover,

  区别在于:switchover将一个physical standby database switchover成为primary database过程可以保证无数据丢失,在完成后其它的standby数据库和原来的primary库还可以成为这个dataguard的standby role的一部分.

  Failover当主库crash无法正常启动时,将一个standby库failover成primary role库,如果在primary库在出故障之前不是处于protection的话,将会有一些数据丢失,因为当前在写的 redo没有办法传到standby库。如果primary,standby库都打开了flashback的话,可以将原来的主库重新设为新primary role数据库的standby库。

  在进行role transition要检查:

  primary,standby是否处于archvielog模式。

  Standby库的tempory file要和primary匹配

  是rac的话:在standby RAC上只有一个实例mount,其它都要关闭

  COLUMN NAME FORMAT A18

  COLUMN VALUE FORMAT A16

  COLUMN TIME_COMPUTED FORMAT A24

  SELECT * FROM V$DATAGUARD_STATS;---可以从这张视图看到没有应用的日志应用上去要多长时间


  SQL> SELECT * FROM V$DATAGUARD_STATS; 
  NAME VALUE UNIT TIME_COMPUTED 
  ------------------ ---------------- ------------------------------ ------------------------ 
  apply finish time +00 00:38:57.2 day(2) to second(1) interval 26-SEP-2008 23:16:39 
  apply lag +00 09:48:00 day(2) to second(0) interval 26-SEP-2008 23:16:39 
  estimated startup 25 second 26-SEP-2008 23:16:39 
  time 
  standby has been o N 26-SEP-2008 23:16:39 
  pen 
  transport lag +00 00:00:00 day(2) to second(0) interval 26-SEP-2008 23:16:39 
  SQL> select NAME ,DB_UNIQUE_NAME ,open_mode,DATABASE_ROLE from v$database;

  一.Switchovers的过程:

  1. 检查主库目前的状态:

  SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

  SWITCHOVER_STATUS

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

  TO STANDBY

  2.将主库置为standby role


  SQL> alter database commit to switchover to physical standby; 
  Database altered. 
  SQL> shutdown immediate; 
  ORA-01507: database not mounted 
  ORACLE instance shut down. 
  SQL> startup mount; 
  ORACLE instance started. 
  Total System Global Area 218103808 bytes 
  Fixed Size 1260984 bytes 
  Variable Size 117441096 bytes 
  Database Buffers 96468992 bytes 
  Redo Buffers 2932736 bytes 
  Database mounted.

  2. standby库转为primary


  SQL> select NAME ,DB_UNIQUE_NAME ,open_mode,DATABASE_ROLE from v$database; 
  SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; 
  SWITCHOVER_STATUS 
  -------------------- 
  TO PRIMARY 
  SQL> alter database commit to switchover to primary; 
  Database altered. 
  SQL> alter database open; 
  Database altered. 
  SQL> select NAME ,DB_UNIQUE_NAME ,open_mode,DATABASE_ROLE from v$database; 
  NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE 
  ------------------ ------------------------------ ---------- ---------------- 
  MAINDB standb READ WRITE PRIMARY

  主库上:


  SQL> alter database recover managed standby database disconnect from session
  Database altered. 
  SQL> select NAME ,DB_UNIQUE_NAME ,open_mode,DATABASE_ROLE from v$database; 
  NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE 
  ------------------ ------------------------------ ---------- ---------------- 
  MAINDB maindb MOUNTED PHYSICAL STANDBY

  二.Failovers的过程:

  查询没有应用的日志:

  SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

  THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#

  Cp过来并register

  SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';

  SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;

  SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

  SQL> ALTER DATABASE OPEN;

  一旦主数据故障无法使用,就可以迅速激活镜像备份:

  1、如果可能,归档主服务器当前重做日志,传送到镜像服务器;

  2、使用主服务器的归档日志文件做恢复:

  SQL>recover standby database;

  3、激活并打开数据库:


  SQL>alter database activate standby database; 
  SQL>alter database mount; 
  SQL>alter database open;

  三.将Failover之后的老的主库 flashback成新primary的standby库:

  1. 在新主库查出failover时的SCN:


  SQL> SELECT TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) FROM V$DATABASE; 
  TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) 
  ---------------------------------------- 
  172313

  2. 在old primary库上:


  SQL> SHUTDOWN IMMEDIATE; 
  SQL> STARTUP MOUNT; 
  SQL> FLASHBACK DATABASE TO SCN172313; 
  SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY; 
  SQL> SHUTDOWN IMMEDIATE; 
  SQL> STARTUP MOUNT; 
  SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE 
  USING CURRENT LOGFILE DISCONNECT;


About Me


...............................................................................................................................

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文博客园地址:http://www.cnblogs.com/lhrbest

● 本文pdf版及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● QQ群:230161599     微信群:私聊

● 联系我请加QQ好友(646634621),注明添加缘由

● 于 2017-06-02 09:00 ~ 2017-06-30 22:00 在魔都完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

...............................................................................................................................

拿起手机使用微信客户端扫描下边的左边图片来关注小麦苗的微信公众号:xiaomaimiaolhr,扫描右边的二维码加入小麦苗的QQ群,学习最实用的数据库技术。

时间: 2024-09-16 19:09:00

【DG】DG之Switchover和Failover的区别的相关文章

Dataguard的switchover和failover

Dataguard中的role transition:switchover和failover以及将failover后的old primary flackback成physical standby库 Dataguard中的role transition包括两种:switchover和failover, 区别在于:switchover将一个physical standby database switchover成为primary database过程可以保证无数据丢失,在完成后其它的standby数

Oracle Data Guard:Switchover和Failover介绍

Data Guard主从库之间的角色切换分为以下两种: 1) Switchover Swithchover通常都是人为的有计划的进行角色互换,比如升级等.它通 常都是无损的,即不会有数据丢失.其执行主要分为两个阶段: Primary转为Standby Standby(之一)转为Primary 2)Failover Failover是指由于Primary故障无法短时间恢复,Standby不得不充当 Primay的角色,如果处于最高性能模式,这种切换很有可能导致数据丢失. 下面分别 演示物理Stan

Oracle] Data Guard 之 浅析Switchover与Failover

以下是对Oracle中Switchover与Failover的使用进行了详细的分析介绍,需要的朋友参考下   Data Guard主从库之间的角色切换分为以下两种:1)SwitchoverSwithchover通常都是人为的有计划的进行角色互换,比如升级等.它通常都是无损的,即不会有数据丢失.其执行主要分为两个阶段:1.Primary转为Standby 2.Standby(之一)转为Primary2)FailoverFailover是指由于Primary故障无法短时间恢复,Standby不得不充

Oracle 10g R2 DataGuard之物理standby的switchover和failover概述

一.物理standby的switchover 注:在做switchover前,需要将监听解析文件tnsnames.ora 文件中的主机名对换一下,主备都要更改,并重启监听. 主库操作: 相关的参数文件要添加的参数,已经在之前创建的时候已经添加,具体请看前面的步骤,下面进行转换: 首先查看主库的转换状态: SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS -------------------- TO STANDBY

【DG】利用闪回数据库(flashback)修复Failover后的DG环境

利用闪回数据库(flashback)修复Failover后的DG环境   1.1  BLOG文档结构图       1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① Failover后DG环境的恢复方法(重点) ② DG的基本维护操作 ③ GC客户端软件的安装 ④ 利用GC快速搭建一套DG环境 ⑤ Failover和Switchover的区别 ⑥ 其它维护操作   Tips: ① 本文

深入解析:一主多备DG环境,failover的实现过程详解

在DG中,switchover和failover是两个重要的概念,也是DG实现的核心.根据不同的DG配置,switchover和failover也是有差异的.当主库被crash之后,如何进行DG foilover的操作? 概述 本文是针对在DG灾备环境进行failover操作以及后续恢复的报告. 验证过程 1.A库异常关闭 A库: SQL>shutdown abort 2.B库进行failover切换为新主库 failover 标准步骤如下: #取消DG应用 ALTER DATABASE REC

小麦苗BLOG文章索引

小麦苗BLOG文章索引            自从2014年7月1号开始写blog到2015年5月5日,历时10个月的时间,大概写了90篇文章,这blog多了就乱了,今天抽空出来整理整理,方便大家也方便自己阅读,本文将一直更新,另外,最后我把所有的blog文章全列出来,可能会有用.    小麦苗的所有文章:itpub文章链接-小麦苗.zip     2015年06月03日更新一次,我写的blog数量:109 篇    2015年07月03日更新一次,我写的blog数量:126 篇    2016

【书】《数据库面试笔试宝典系列》简介

[书]<Oracle数据库面试笔试宝典>相关内容 目录 目录 - 1 - 内容介绍 - 8 - 作者简介 - 8 - 序言 - 9 - 前言 - 10 - 上篇 面试笔试经验技巧篇 - 13 - 第1章 求职经验分享 - 13 - 1.1 踩别人没有踩过的坑,犯别人没有犯过的错 - 13 - 1.2 只要肯钻研,就能成大咖 - 14 - 1.3 普通DBA的逆袭经验 - 14 - 第2章 数据库程序员的求职现状 - 15 - 2.1 当前市场对于数据库程序员的需求如何?待遇如何? - 15 -

【DATAGUARD】物理dg的failover切换(六)

[DATAGUARD]物理dg的failover切换(六) 1.1  BLOG文档结构图     1.2  前言部分   1.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 物理dg的failover切换演练过程 ② 物理dg管理和维护的一些sql ③ 利用duplicate搭建物理dg ④   注意:本篇BLOG中代码部分需要特别关注的地方我都用黄色背景和红色字体来表示,比如下边的例子中,thread 1的最大归档