Oracle 11g DataGuard 数据保护模式切换

Data Guard 提供三种数据保护模式:最大保护(Maximum Protection),最高可用(Maximum Availability)和 最高性能(Maximum Performance)。

如果按照对数据的保护程度或者说主从库数据的同步性 由低到高排序,三种保护模式的顺序应该是:最高性能、最高可用、最大保护 。

本文通过实验模拟三种数据保护模式进行相互切换六个场景,对比保护模式的升级、切换过程。

【实验图例】

【实验环境】

操作系统:Red Hat Enterprise Linux Server release 5.4

数据库:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0

【主库、物理备库结构信息】

【实验过程】

①、最高性能 升级 最高可用

(1)查看数据库当前保护模式:最高性能模式

select

database_role,protection_mode,protection_level from v$database;主库 Primary :

物理备库 Physical Standby

查看日志传输方式

当前在最大性能模式下,日志传输方式为ARCH ASYNC,arch进程异步传输归档的方式。

(2)修改主库日志传输模式

要升级为最高通过修改初始化参数文件中远程归档参数,讲日志传输模式改为LGWR SYNC AFIRM,即lgwr进程同步传输redo日志的方式。

vim $ORACLE_HOME/dbs/initBJ.ora

主库正常关库后开库。

shutdown immediate;

startup;

(3)备库添加standby logfilegroup

首先查看当前日志组个数、大小、文件位置

select sequence#,group#,bytes/1024/1024 MB from v$log;

select member from v$logfile;

备库要添加4个standby 日志组,比普通日志组多一个。

alter database add standby logfile group 4 '/u02/oradata/sh/redo04.std'

size 50m;

alter database add standby logfile group 5

'/u02/oradata/sh/redo05.std' size 50m;

alter database add standby logfile group 6

'/u02/oradata/sh/redo06.std' size 50m;

alter database add standby logfile group 7 '/u02/oradata/sh/redo07.std'

size 50m;

添加完成后查看,standby logfile group 已经添加

(4)切换数据保护模式为最高可用

alter database set standby database

to maximize availability;

查看当前主、备库数据保护模式,已经是最高可用模式。

select

database_role,protection_mode,protection_level from v$database;

②、最高可用 升级 最大保护

(1)查看当前数据库保护模式:最高可用模式

select database_role,protection_mode,protection_level from

v$database;

(2)设置数据库保护模式为最大保护

alter database set standby database

to maximize protection;

查看数据库当前保护模式,已经升级成功:最大保护模式

select

database_role,protection_mode,protection_level from v$database;

③、最大保护 转 最高可用 (降级)

查询当前保护模式状态:最大保护模式

设置保护模式为最高可用

再次查询,protection_level 已成功切换为:最高可用模式。

select

database_role,open_mode,protection_mode,protection_level from v$database;

alter database set standby database to maximize availability;

select

database_role,open_mode,protection_mode,protection_level from v$database;

④、最高可用 转 最高性能 (降级)

查询当前保护模式状态:最高可用模式

设置保护模式为最高性能

再次查询,已成功切换为:最高性能模式。

select database_role,protection_mode,protection_level from

v$database;

alter database set standby database to maximize performance;

select database_role,protection_mode,protection_level from

v$database;

⑤、最高性能 升级 最大保护

查询当前数据库保护模式:最高性能模式

select

database_role,open_mode,protection_mode,protection_level from v$database;

设置数据保护模式为最大保护报错,【ORA-01126】:database must be mounted in this instance and not open in any instance;

要求在mounted状态操作,且任何实例都不能处于open状态。

alter database set standby database to maximize protection;

正常关库,把库起到mount状态

shutdown immediate;

startup mount;

在mount状态,设置数据库保护模式,可以切换,因处于mount状态,当先保护模式显示unprotected.

select

database_role,protection_mode,protection_level from v$database;

alter database

open;

open状态后再次查看,已成功升级为最大保护模式

⑥、最大保护 转 最高性能 (降级)

查看当前数据库保护模式:最大保护模式

设置数据库保护模式为最高性能

查看已经设置成功,protection_level 已变成最高性能模式。

select database_role,protection_mode,protection_level from

v$database;

alter database set standby database to maximize performance;

select database_role,protection_mode,protection_level from

v$database;

【实验总结】

1、最高性能模式既可以使用ARCH方式传递日志,也可以使用LGWR方式传递,在升级到更高级别保护模式时,需使用LGWR方式,且需要在备库创建standby日志组。

2、三种保护模式进行切换时,最高性能升级到最大保护模式(⑤),需先把数据库重启到mounted状态才能操作。其他情况(①②③④⑥)相互切换时,可以直接进行。

根据实验结论,在生产环境下如果需要从最高性能模式升级为最大保护模式,可先从最高性能模式升级最高可用模式,再由最高可用模式升级为最大保护模式。

如下图,通过①②分步升级的方式代替⑤直接升级,避免了重启到mounted状态对生产环境下业务造成的影响。

吕星昊

2014.8.9

oracle取消dataguard,【DataGuard】Oracle DataGuard 数据保护模式切换相关推荐

  1. oracle 取消exp权限,oracle 复制账号权限oracle11gexp导出问题:部分表导不出来

    在oracle导出表的命令exp时候发现一个问题,就是部分表完全的导不oracle账号出来,经检查发现只要是表为空的都会导不出来. 在如下表中发现segment_created都为NO的是导不出来的, ...

  2. oracle不一致性关闭下次,Oracle DataGuard

    ```1.文档介绍 本实施方案主要对Oracle DataGuard实施部署作相应的说明.以便实施人员能根据当前业务特点,规划.建设符合高可用.高可靠的数据库集群系统.具体由Oracle DG环境拓扑 ...

  3. oracle11 dataguard,探索Oracle之11g DataGuard

    1.什么是DataGuard DataGuard是Oracle推出的一项专门针对oracle数据库的高可用技术,在8i之前被称之为Standby Dtabase,从9i开始正式更名为DataGuard ...

  4. linux单机到单机adg环境,Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

    环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点. 需求:主备库同时应用160719的PSU和OJVM PSU补丁. ...

  5. Oracle DataGuard Study之--DataGuard FailOver案例

    Oracle DG(Dataguard)是目前比较常见的数据库HA配置策略.通过实现Physical Standby和Logical Standby,可以实现数据冗余容错机制.防止在主库出现严重故障, ...

  6. oracle 10g rac 配置物理dataguard系列4,配置 Oracle 10g RAC primary + RAC physical standby dataguard...

    MMA的东西,正好手上有机器,以前老偷懒不写过程,现在也要给写出来作手册....[@more@] 其实配置过程对老手来说可能就花在备份数据库上了呵呵 下面以prdb作为primary,lstdb作为s ...

  7. Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)—— dataguard 服务器安装 Oracle 软件

    Oracle Dataguard(主库为 Oracle rac 集群)配置教程(01)-- dataguard 服务器安装 Oracle 软件 / 本专栏详细讲解 Oracle Dataguard(O ...

  8. Deploy Oracle 10.2.0.5 DataGuard on Red Hat Enterprise Linux 6.4

    系统:Red Hat Enterprise Linux 6.4 数据库:Oracle 10.2.0.5.0 Patch Set 4 主机:10dg1 192.168.1.91 10dg2192.168 ...

  9. 关于oracle的物理dg,oracle物理DG管理-redo数据传输,应用与三种模式

    环境http://blog.csdn.net/sunziyue/article/details/50799648基础之上 1学习配置参数 下列参数为primary 角色相关 *.db_name='or ...

最新文章

  1. 第79天:jQuery事件总结(二)
  2. 点赞模块设计:Redis缓存 + 定时写入数据库实现高性能点赞功能
  3. Maven 的这 7 个问题你思考过没有?
  4. Compass 编译.scss文件的问题
  5. 企业网站优化如何提升网站收录?
  6. 【leetcode】42. Trapping Rain Water 计算坑洼地的积水量
  7. 2014c语言二级考试题,2014计算机二级等级考试试题:C语言模拟题
  8. 双代号网络图基础算法_9个简单数学算法在管理领域的运用
  9. [新手必备]Python 基础入门必学知识点笔记
  10. android 中ImageView的scaletype属性
  11. unittest-常见问题解决方案记录
  12. python编程入门指南-《中小学生Python编程入门指南》附录二
  13. tomcat8+linux+IDEA配置远程代码调试
  14. UltraEdit脱机注册免费使用版本
  15. 带你实战Android深色模式,深入原理剖析
  16. 第八章:加载Maya2011模型
  17. 【PytorchLearning】构建自己的数据集
  18. igraph与netwrokx的转换
  19. IntelliJ IDEA使用教程(动图详解):实时代码模板的使用
  20. html知识点复习整理

热门文章

  1. Java之String,StringBuffer,StringBuilder
  2. Synchronize锁继承
  3. 这 5 个能挣钱的 SpringBoot 项目,真TMD香!
  4. 蓝桥杯java第三届决赛第四题--DNA比对
  5. Android踩坑日记:监听软键盘多次调用和刷新系统相册和获取所有相片
  6. 【深入Java虚拟机JVM 04】JVM内存溢出OutOfMemoryError异常实例
  7. Java微信公众号开发面试题
  8. get方法报空指针_智能指针shared_ptr踩坑笔记
  9. 爬取虎牙之一:(王者荣耀主播信息普通爬取)
  10. 获取Http协议的请求行,请求头