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. MVC5发展历程,从MVC2谈起

    目前,MVC已经发布了5个版本,不包括一些临时的版本,为了更好的了解MVC5,知道MVC的发展历程是非常重要的.本篇随笔主要讲解3个版本的内容及其新特性. 1.MVC 2,发布日期:2010年3月 部 ...

  2. window.location.href和window.top.location.href的区别

    if (window.location.href == window.top.location.href) {     window.top.location.href = "/index. ...

  3. PXE无人值守部署centos7.4操作系统

    1.基础环境: 镜像ISO文件名为:CentOS-7-x86_64-DVD-1804.iso 2.安装需要的软件包 yum install dhcp xinetd syslinux httpd tft ...

  4. 检查类型是否包含iterator

  5. Split Shape by Plane in OpenCASCADE

    Split Shape by Plane in OpenCASCADE eryar@163.com Abstract. Sometimes you want to split a shape by p ...

  6. FileStream vs/differences StreamWriter?

    https://stackoverflow.com/questions/4963667/filestream-vs-differences-streamwriter What is different ...

  7. spring webSocket The HTTP response from the server [200] did not permit the HTTP upgrade to WebSocket

    在springboot 1.5.9版本 WebSocketConfig配置 registry.addEndpoint("/webSocket").withSockJS();在加了. ...

  8. vue2.0 transition用法

    html: <div id="demo"> <button v-on:click="show = !show"> Toggle < ...

  9. (JavaScript基础向)日常小发现:forEach等函数的第二个参数的用法

    forEach函数用得平时用得比较多,但是从来没想到forEach函数还有第二个参数. 这里是菜鸟教程对forEach函数的详细说明:forEach的详细说明. 如上图,forEach函数有第二个参数 ...

  10. logback 生成日志

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <appender ...