在11g里面,Oracle认为最理想的情况是,虽然Oracle数据库不能打开,但是可以启动到 mount状态。
Mount状态之所以重要,就在于如果可以到这个阶段,控制文件control_file就可以读取 归档日志和在线日志的位置信息。这也就意味着最大可能性的进行数据恢复,避免数据损失。

在11g中,推出了日志手工flush的功能,来弥补日志数据没有传递的问题。

10g版本下没有办法自动flush redo。但是可以从Primary目录中,将日志拷贝到Standby端,手工去加载。

主库续传日志到备库

如果主库可以到mount状态,在11G里可以通过下面的命令,将未传送到standby端的日志传送过去:

alter system flush redo to 'standby_db_unique_name';

备库查询归档缺失

既然是failover,主库已经处于down状态。查看备库的状态:

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

 NAME  OPEN_MODE            DATABASE_ROLE    SWITCHOVER_STATUS
----- -------------------- ---------------- --------------------
ORCL READ ONLY PHYSICAL STANDBY NOT ALLOWED

查看是否存在未传送的归档:

select thread#, low_sequence#, high_sequence# from v$archive_gap;
no rows selected

如果没有查到结果,说明归档在standby 端没有缺失。那么数据上基本不会有丢失,即使丢失,也只有 redo buffer 中未来得及刷出的部分可能会丢失。

如果 有未传送至备库的归档 , 将其复制到standby 后进行注册

alter database register physical logfile '/arch/oradata/dg01/1_109900.arc';

备库取消数据复制

将备库切换为主库.此时,我们不能通过cancel来取消数据同步,而是通过finish。 这个操作,实际上是关闭了MRP进程。可以通过alert日志来确认。

alter database recover managed standby database cancel;
alter database recover managed standby database finish;
# 终止进程后,查看备库的状态,如果是to_primary 说明可以进行切换
select name,open_mode,database_role,switchover_status from v$database;

备库切换为主库

# 切换
alter database commit to switchover to primary [with session shutdown];
# 查看切换后状态
select open_mode,database_role,switchover_status from v$database; OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- ---------------- --------------------
READ WRITE PRIMARY FAILED DESTINATION

查看新主库角色切换时的scn

通过查询这个时间点儿的SCN,确定主备之间数据一致的点。

SELECT to_char(STANDBY_BECAME_PRIMARY_SCN) from V$DATABASE;

原主库切换为备库

将原主库启动,并闪回到上一步查询的scn点.

FLASHBACK DATABASE TO SCN &standby_became_primary_scn;
#将原主库转换成物理备库,并启动日志应用进程
ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

7 启动备库数据同步

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

4.2 Oracle Dataguard failover 操作步骤的更多相关文章

  1. Oracle dataguard failover 实战

    Oracle dataguard  failover 实战 操作步骤 备库: SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINIS ...

  2. Oracle dataguard切换实施步骤

    主备库的切换主要在两种情况下切换,Switchover和Failover,这两种切换都需要手工执行完成,不建议自动执行.主库端 192.168.411.20备库端 192.168.411.221 一是 ...

  3. 在Linux上安装Oracle服务的操作步骤

    如题,将我在云服务器上安装Oracle服务的惨痛经历分享出来,期间查找的资料踩过的坑无数,希望对大家能有帮助 闲话少叙,直接开始 首先,由于服务器比较差,需要先设置swap 查看是否设置swap虚拟内 ...

  4. 安装oracle数据库的操作步骤

    1. vnc启动之后,进入数据库安装包所在目录,此处是/home/DB/backup/database 2. 输入命令 ./runInstaller 3. 弹出linux图形化界面,同时弹出Oracl ...

  5. Oracle Dataguard故障转移(failover)操作

    注意:故障转移会破坏DG的主从关系,使其变为互不相关的2个数据库,谨慎使用. (一)故障转移操作流程图 (二)故障转移操作流程 备注:以下操作步骤与上面流程图步骤一一对应 STEP1:刷新所有未发送到 ...

  6. Oracle 11g 物理Dataguard日常操作维护(二)

    Oracle 11g 物理Dataguard日常操作维护(二) 2017年8月25日 14:34 3.3 3.3.1 查看备库进程状态 SYS(125_7)@fpyj123> select pr ...

  7. Oracle DataGuard故障转移(failover)后使用RMAN还原失败的主库

    (一)DG故障转移后切换为备库的方法 在DG执行故障转移之后,主库与从库的关系就被破坏了.这个时候如果要恢复主从关系,可以使用下面的3种方法: 将失败的主库重新搭建为备库,该方法比较耗时: 使用数据库 ...

  8. Oracle Dataguard之failover

    Oracle Dataguard中,角色转换包含两类:Switchover和Failover.上文<Oracle Dataguard之switchover>中,我们已经谈过了switcho ...

  9. Windows2008 R2上完全卸载Oracle操作步骤

    Windows2008 R2上完全卸载Oracle操作步骤 1.关闭Oracle所有的服务,按[win+R]运行[services.msc]找到所有Oracle开头的服务,点击停止. 2.使用Orac ...

随机推荐

  1. bean属性复制到另外一个bean

    import org.springframework.beans.BeanUtils; BeanUtils.copyProperties(maker.getBaseInfo(), newBasInfo ...

  2. android wake lock 电源管理简单学习

    需要配置清单文件:<uses-permission android:name="android.permission.WAKE_LOCK" /> 也可以参考我之前写的这 ...

  3. practice01

    1. 组合数公式: C(n, k) =C(n-1, k) +C(n-1, k-1) 要求利用该公式写递归函数求组合数. #include <stdio.h> int C(int a,int ...

  4. 快速找出网站中可能存在的XSS漏洞实践

    笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...

  5. 3194. 【HNOI模拟题】化学(无标号无根树计数)

    Problem 求\(n\)个点的每个点度数不超过\(4\)的无标号无根树个数. Data constraint \(1\le n\le 500\) Solution 尝试着把问题一般化.我们来考虑一 ...

  6. Gym - 101982C Contest Setting (动态规划)

    A group of contest writers have written n problems and want to use k of them in an upcoming contest. ...

  7. freetypeLCD显示

    目录 freetypeLCD显示 安装交叉编译环境 配置 头文件和库的位置 编译安装 复制到PC编译工具链 复制到文件系统 运行测试 LCD显示 编码转换问题 简单显示 角度旋转 换行显示 居中显示 ...

  8. SpringMVC运行流程

    Spring工作流程描述       1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获:       2. DispatcherServl ...

  9. axios 或 ajax 请求文件

    axios 或 ajax 请求文件 axios({ url: path + '/monitor/exportPicture' + '?access_token=' + getToken(), meth ...

  10. Jenkins实践之入门体验

    官网:https://jenkins.io/ 持续集成,快速发布是DevOps实践的最好方式. 目录 准备工作 下载/安装/启动 基础配置 插件配置 构建第一个Java项目 部署项目 准备工作 在使用 ...