FAILOVER详细步骤

1.Flush主库任何未传输的redo到目标备库

如果primary可以mount,则可以flush任何主库的未传输redo到备库,如果操作成功返回,则可以保证failover的零数据丢失。

1)确保standby数据库启用日志应用

2)mount primary数据库,执行以下SQL语句,命令等待standby应用redo完成后返回。

SQL> alter system flush redo to target_db_unique_name;

如果成功返回,则转第5步,如果返回错误或者用户不能等待其耗费的时长,则转第2步。

2.确认standby应用了primary每个线程的最新归档

standby:

SQL> select unique thread# as thread, max(sequence#) over (partition by thread#) as last from v$archived_log;

如果standby没有应用priamry的最新归档,手工传输primary归档文件到standby并注册:

SQL> alter database register physical logfile 'filespec1';

3.查找并解决GAP

standby:

SQL> select thread#, low_sequence#, high_sequence# from v$archive_gap;

如果有GAP, 手工传输GAP到standby并注册:

SQL> alter database register physical logfile 'filespec1';

4.重复第3步,直到解决所有的GAP

直到查询返回为空,则说明当前已可能没有GAP(v$archive_gap存在一些已知的BUG)。

5.停止redo应用

SQL> recover managed standby database cancel;

6.完成应用所有接受到的redo数据

SQL> recover managed standby database finish;

如果命令成功返回,转第7步,如果命令返回错误,说明一些redo数据不能应用,排查错误并再次执行该SQL语句。

如果错误不能解决,执行以下SQL激活物理备库,可能会丢失数据,执行以下SQL后,转第9步:

SQL> alter database activate physical standby database;

7.确认物理standby可以转换为primary

SQL> select switchover_status from v$database;

SQL查询结果为TO PRIMARYSESSIONS ACTIVE,则表示standby可以转换为primary角色,否则需要检查日志应用是否仍处于激活状态,确保该值为TO PRIMARYSESSIONS ACTIVE

8.切换物理standby为primary角色

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

如果switchover_status为SESSION ACTIVE,则需要加上with session shutdown子句。

9.打开新的primary数据库

SQL> alter database open;

10.清除DG相关参数

11.立即备份新的primary数据库

12.DG环境中如果存在的其他物理备库,重启其已停止的日志应用

SQL> recover managed standby database using current logfile disconnect;

13.还原失败的primary数据库

FAILOVER详细步骤的更多相关文章

  1. unity导出工程导入到iOS原生工程中详细步骤

    一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢 ...

  2. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

  3. svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录

    svn更新路径,解决办法详细步骤,eclipse里面的更新方法,svn废弃位置,Windows环境,svn服务器地址换了,如何更新本地工作目录 Windows下,svn服务器IP本来是内网一台服务器上 ...

  4. OSG入门即osgEarth建立一个地球的详细步骤

    OSG入门即osgEarth建立一个地球的详细步骤 转:http://blog.csdn.net/xiaol_deng/article/details/9246291 最近在学习有关osg的知识,刚开 ...

  5. VS2012+Win7网站发布详细步骤

    VS2012+Win7网站发布详细步骤 本机环境: 本文分三个部分介绍Web项目发布的常规方法,大神级别可以略过,主要是为了方便一些初学者. 第一部分:VS2012把项目发布到文件系统. 第二部分:I ...

  6. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

  7. iOS开发之 xcode6 APP 打包提交审核详细步骤

    一. 在xcode6.1和ios10.10.1环境下实现app发布 http://blog.csdn.net/mad1989/article/details/8167529 http://jingya ...

  8. 使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程

    使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程 先列出来总体启动流程: (1)启动zookeeper集群(hadoop01.hadoop02和hadoop03这3台机 ...

  9. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

随机推荐

  1. C# MVC js 跨域

    js 跨域: 第一种解决方案(服务端解决跨域问题): 跨域是浏览器的一种安全策略,是浏览器自身做的限制,不允许用户访问不同域名或端口或协议的网站数据. 只有域名(主域名[一级域名]和二级域名).端口号 ...

  2. 用efibootmgr管理UEFI启动项,添加丢失的启动项

    UEFI用来替代传统BIOS引导操作系统,学会修改UEFI启动项也变得十分重要,UEFI全称为:“统一的可扩展固件接口”(Unified Extensible Firmware Interface), ...

  3. dedecms关键词维护里面字数多的词优先字数少的词的解决办法

    织梦后台的关键词维护默认的情况是字数少的词优先于字数多的词,比如我们有两个这样的词:创业.创业方向,第二个词包含了第一个词,在文章中如果出现“创业方向”这个词,默认情况下只会给创业两个字添加关键词超链 ...

  4. 网络地图WebMap介绍

    WebMap是从ArcGIS Online或者ArcGIS for Portal item上获取显示到用户的界面中. 需要的是地图的ID. 创建一个新的网络地图需要设置ID号,然后再用地图底图MapV ...

  5. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  6. 【Linux下安装配置Jupyter】

    """ 第一步 安装 """ pip3 install -i https://pypi.douban.com/simple jupyter ...

  7. 值得学习的CSS知识

    这里零度给大家推荐几个值得学习的CSS技巧,能让你编写网页事半功倍!一.清除默认值 通常 padding 的默认值为 0,background-color 的默认值是 transparent.但是在不 ...

  8. Mysql主从级联复制

    场景1 如果主节点已经运行了一段时间,且有大量数据时,如何配置并启动slave节点 通过备份恢复数据至从服务器· 复制起始位置为备份时,二进制日志文件及其POS: Mater 设置 1) 修改配置文件 ...

  9. ActionListener三种实现

    /** * Simple1.java - 处理事件的第一种方法 * 在这个例子中,利用一个ActionListener来监听事件源产生的事件 * 用一些if语句来决定是哪个事件源 */ import ...

  10. PHP生成RSS报

    <?php$sql="select * from wx_zimi ";$res=$dbs->query($sql);$arr=array();while($o=$dbs ...