一,物理备库

  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. Azure:Manage anonymous read access to containers and blobs

    Grant anonymous users permissions to containers and blobs By default, a container and any blobs with ...

  2. delphi xe6 for android 自带控件LocationSensor优先使用GPS定位的方法

    delphi xe6 for android LocationSensor控件默认是优先使用网络定位,对定位精度要求高的应用我们可以修改原码直接指定GPS定位. 修改方法: 将C:\Program F ...

  3. SQL cast 函数

    (1).CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型.以下例子用于将文本字符串'12'转换为整型: SELECT CAST('12' AS int) (2).返回值是 ...

  4. xp 专业版组策略只有系统组件

    想要不显示任务栏的提示消息,需要在组策略里面设置,(在"开始→运行"中输入"GPEDIT.MSC"打开组策略,然后依次选择"用户配置→管理模板→任务栏 ...

  5. angular OnChange事件

    import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core'; @Component({ sel ...

  6. Delphi XE8中开发DataSnap程序常见问题和解决方法 (-)启动创建好的DBExpress工程时候报错了!

    当我们成功创建了使用DBExpress的DataSnap的服务器和客户端程序后,我们关闭了当前工程,当我们再次打开时候,有可能会出现这样的问题: 问题原因:这个问题是因为当前工程组默认启动的是客户端工 ...

  7. loj #6235. 区间素数个数

    #6235. 区间素数个数 题目描述 求 1∼n 1\sim n1∼n 之间素数个数. 输入格式 一行一个数 n nn . 输出格式 一行一个数,表示答案. 样例 样例输入 10 样例输出 4 样例解 ...

  8. 洛谷P3779 [SDOI2017]龙与地下城(概率论+Simpson+FFT)

    题面 传送门 题解 orz shadowice 正态分布 正态分布是随机变量\(X\)的一种概率分布形式.它用一个期望\(\mu\)和方差\(\sigma^2\)就可以描述,记为\(N(\mu,\si ...

  9. Qt 学习之路 2(57):可视化显示数据库数据

    Qt 学习之路 2(57):可视化显示数据库数据(skip) 豆子 2013年6月26日 Qt 学习之路 2 26条评论 前面我们用了两个章节介绍了 Qt 提供的两种操作数据库的方法.显然,使用QSq ...

  10. 【转】Cannot add or update a child row: a foreign key constraint fails 解决办法

    原因:设置的外键和对应的另一个表的主键值不匹配.解决方法:找出不匹配的值修改.或者清空两表数据. 转自https://blog.csdn.net/qq_29405421/article/details ...