一,物理备库

  01,状态查询与状态详解

select switchover_status from v$database

  02,状态转换到备用数据库

alter database commit to switchover to physical st andby;
执行后,oracle会将当前主数据库的控制文件备份到一个跟踪文件上,需要重启
shutdown immediate;
startup mount

  03,状态转换到主数据库

alter database commit to switchover to primary;
如果添加 with session shutdown wait 子句,则在切换完成前该语句不会返回到SQL>提示符,使用OPEN关键字启动数据库
alter database open

  04,启动重做应用

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

二,逻辑备库

  01,验证是否能执行

    检验主数据库能否执行切换,查询v$database 了解switchover_status的值为to standby, to logical standby, sessions active

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
TO STANDBY

  02,主数据库切换逻辑备用数据

      在旧主库执行操作,让主库准备用于切换

alter database prepare to switchover to logical standby;

      在旧逻辑备库数据块中操作

alter database prepare to switchover to primary;

      这时候,逻辑备用数据块将开始想当前的主数据库和配置中的其他备用数据库传送它的重做数据,此时,传送逻辑备库数据块中的重做数据,但是没有应用

      在主数据库中,现在必须检验从逻辑备用数据库上接受字典数据,在能继续执行下一步之前,v$database中的switchover_status 列的值在主数据库中必须读取为to logocal standby.当该状态值显示主数据库中,将主数据库切换到逻辑备用角色

      旧主数据执行

alter database commit to switchover to logical standby;

      查询旧逻辑备库,检验是否可以切换即switchover_status 状态应该时to primary.

      旧逻辑备库执行

alter databse commit to switchover to primary;

      旧的主数据库上执行

alter database start logical apply immediate;
启动重做日志

三,故障转移

  01,物理备库故障转移    

      备用数据库需要保持标识和归档日志一致性,需要手动复制,注册日志文件

      配置了重做日志文件的话执行:

alter database recover managed standby database finish;

       没有配置重做日志的执行:

alter databse recover managed standby database finish skip standby logfile;

      完成备份恢复操作,在新主使用命令开始切换

alter database commit to seichover to primary;

      然后关闭,重启新主数据库

  02,逻辑备库故障转移 

没有激活重做应用的话:
alter database start logical standby apply nodelay finish; 接下来,为逻辑备用数据库生成的重做日志文件启用远程存储位置。可能需要更新逻辑备,用数据库的LOG ARCHIVE DEST-STATEn参数设置,以便配置中的其他备用数据库将可接收到由原始的逻辑备用数据库生成的重做数据。然后,可通过如下命令将原始的逻辑备用数据库激活为新的主数据库: alter database activate logical standby database finish apply; 如果存在属于Data Guard配置的其他逻辑备用数据库,则可能需要重新创建它们或使用数据库链接将它们添加到新配置中。首先,在将要充当新的主数据库的逻辑备用数据库的每个数据库中创建一个链接。ALTER SESSION DISABLE GUARD命令允许绕过会话中的Data Guard过程。数据库链接使用的数据库账户必须具有SELECT CATALOG ROLE角色: alter session disable guard;
create database link salesofoconnect to username identified by password using 'salesofc';
alter session enable quard;
应通过查询远程数据库(新的主数据库)中的DBA LOGSTDBY PARAMETERS视图来验,证该链接。在每个逻辑备用数据库中,现在可以基于新的主数据库来启动重做应用进程: alter database start logical standby apply new primary salesofc;

oracle12C--DG 状态集的更多相关文章

  1. 网络基础二 tcp/ip协议簇 端口 三次握手 四次挥手 11种状态集

    第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...

  2. kubernetes有状态集群服务部署与管理

    有状态集群服务的两个需求:一个是存储需求,另一个是集群需求.对存储需求,Kubernetes的解决方案是:Volume.Persistent Volume .对PV,除了手动创建PV池外,还可以通过S ...

  3. TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集

    第1章 概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN(Virtual LAN),翻译成中文是“虚拟局域网”.LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成 ...

  4. flux,redux,vuex状态集管理工具之间的区别

    一:redux和flux的区别 1)redux是flux中的一个实现 2))在redux中我们只能定义一个store,在flux中我们可以定义多个 3)在redux中,store和dispatch都放 ...

  5. TCP11种状态集之TIME_WAIT

    先看一个实例,上代码: #!/usr/bin/env python3 # _*_ coding:utf- _*_ import socket sk = socket.socket() sk.bind( ...

  6. oracle dg状态检查及相关命令

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

  7. TCP/IP协议簇 端口 三次握手 四次挥手 11种状态集

    第一章:概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN (Virturl LAN) ,翻译成中文是:“虚拟局域网”.VLAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计 ...

  8. Oracle dg 状态校验

    查看主库状态: select open_mode,protection_mode,database_role,switchover_status from v$database; OPEN_MODE ...

  9. oracle12C--DG FAR SYNC 部署(前提为搭建好12C的DG)

    <<往期12CDG搭建>> 一,理解同步异步模式 01, 使用LGWR 进程的SYNC 方式 1)Primary Database 产生的Redo 日志要同时写到日志文件和网络 ...

随机推荐

  1. POJ3233 Matrix Power Series(矩阵快速幂+分治)

    Description Given a n × n matrix A and a positive integer k, find the sum S = A + A2 + A3 + … + Ak. ...

  2. delphi 金额大小写转换函数

    {*------------------------------------------------ 金额大小写转换函数 @author 王云盼 @version V1506.01 在delphi7测 ...

  3. 国外物联网平台(6):Electric Imp

    国外物联网平台(6)——Electric Imp 马智 公司背景 Electric Imp成立于2011年,公司设立在美国加利福尼亚州洛斯阿尔托斯和英国剑桥 公司投资者包括:富士康技术集团.PTI创投 ...

  4. [.net 多线程]AutoResetEvent, ManualResetEvent

    ManualResetEvent: 通知一个或多个正在等待的线程已发生事件,允许线程通过发信号互相通信,来控制线程是否可心访问资源. Set() : 用于向 ManualResetEvent 发送信号 ...

  5. 小程序上传多图片多附件多视频 c#后端

    前言: 最近在研究微信小程序,本人自己是C#写后端的;感觉小程序挺好玩的,就自己研究了一下:刚好今天又给我需求,通过小程序上传多图 然后C#后端保存到服务器: 用NET明白 前端上传需要用到流,然后就 ...

  6. MVC 登陆鉴权

    public ActionResult Login(string data) { var _params = JsonConvert.DeserializeAnonymousType(data, ne ...

  7. 《C#多线程编程实战》1.11 Monitor.TryEnter()避免死锁

    这章的内容是真的有意思 特别是代码. 先贴上代码: class Program { static void Main(string[] args) { object lock1 = new objec ...

  8. adb命令connect设备必须添加端口号

    Android开发,一般使用adb远程连接设备,习惯性一个命令: adb connect 10.100.1.202 这几天发现一个问题,同一个命令,提示错误: adb connect 10.100.1 ...

  9. 【BZOJ4800】[CEOI2015 Day2]世界冰球锦标赛 (折半搜索)

    [CEOI2015 Day2]世界冰球锦标赛 题目描述 译自 CEOI2015 Day2 T1「Ice Hockey World Championship」 今年的世界冰球锦标赛在捷克举行.\(Bob ...

  10. AJAX中success函数的执行顺序

    1,问题,在上图中,数据传输正常,但是一直输出为空的p,再输出66, 2,原因,默认开启了异步加载, 3,解决方法,开启同步,或者在success中添加函数.