一,物理备库

  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. 当Linux用尽内存

    Mulyadi Santosa 也许你很少面临这一情况,但是一旦如此,你一定知道出什么错了:可用内存不足或者说内存用尽(OOM).结果非常典型:你不能再分配内存,内核会杀掉一个任务(一般是正在运行那个 ...

  2. POJ-3481 Double Queue (splay)

    The new founded Balkan Investment Group Bank (BIG-Bank) opened a new office in Bucharest, equipped w ...

  3. 挂载ISO 和 KILL 掉占用进程

    mount -t iso9660 -o loop,user VMware-tools-linux-8.6.0-425873.iso /mnt/cdrom fuser -m -v -i -k  /mnt ...

  4. 将“100px” 转换为100

    parseInt("100px") //结果是100

  5. c# 解析MP3文件

    不说那么多,网上有很多关于MP3文件说明的. 该C#代码是将C\C++转化过来的,可能存在问题. 如有需要的朋友可以参考. 项目中的文件路径大家自己修改. 下载地址

  6. Apple开启双重认证过程

    1.准备 1.1 AppleID账号.密码 1.2 打算用于接收开启双重认证的十一位手机号 1.3 AppleID账号密保问题 2.操作步骤: 2.1 打开设置 2.2 点击个人账户头像 注意:当前有 ...

  7. Swoole http server + yaf, swoole socket server + protobuf 等小结

    拥抱swoole, 拥抱更好的php Swoole 是什么? Yaf 是什么? 接触swoole已经4年多了,一直没有好好静下心来学习.一直在做web端的应用,对网络协议和常驻内存型服务器一窍不通.一 ...

  8. javascript 深拷贝对象

    深拷贝polesResult,拷贝后sourceCopy成为与polesResult完全独立的对象 var sourceCopy=[].concat(JSON.parse(JSON.stringify ...

  9. 加密模块(md5)

    一.md5加密 import hashlib s = ' print(s.encode()) m = hashlib.md5(s.encode())# 必须得传一个bytes类型的 print(m.h ...

  10. Navicat 远程连接 MySQL

    Navicat 远程连接 MySQL 相信大家都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,如果使用 Navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在 ...