Active Data Guard

ADG INTRODUCE

Active Data Guard(ADG)是ORACLE 11g企业版的新特性,需要单独的License.可以打开Physical standby至read only模式,standby可以用来做报表系统、查询、排序或Web站点。实时读写分离,以此来分担primary DB的压力。

ADG可以部署在多种商业应用环境中,如:

·通信行业:Schedules服务,自助查询服务。

·医疗行业:快速访问最新的医疗记录。

·金融管理行业:自助查询和报表。

·运输行业:包裹跟踪,订单状态查询。

·商业网站:目录浏览,订单状态,售后产品Reader Farms.

 

ADG特性:

1.实时查询特性,可以打开Physical standby值read only模式并实时应用redo data.

2.启用RMAN block-change tracking。用户利用RMAN在primary的增量备份恢复到standby,性能最高可提升20倍。

Database只读模式下允许的操作:

·SELECT操作,包括需要大量临时段的查询

·ALTER SESSION,ALTER SYSTEM

·SET ROLE

·调用Procedure

·使用DBLINK写数据到远程数据库

·通过DBLINK调用远程数据库的Procedure

·在事务级别读一致性使用SET TRANSACTION READ ONLY

·执行复杂的查询,如:GROUPING SET,WITH查询语句等

Database只读模式下不允许的操作:

·任何DML或DDL操作

·访问本地序列的查询

·对本地临时表的DML操作

ADG的先决条件:

1.ADG选项的license

2.参数COMPATIBLE>=11.0.0

ADG DETAILS

如何检查当前是否启用ADG

SQL> select database_role ,open_mode from v$database;

DATABASE_ROLE      OPEN_MODE

------------------ --------------------

PHYSICAL STANDBY   READ ONLY WITH APPLY

启用ADG

SQL> alter database open read only;

SQL> recover managed standby database disconnect using current logfile;

注:AUDIT_TRAIL参数在数据库打开时可用,read only的standby不支持update,如果AUDIT_TRAIL=DB,则在DB以read only模式打开后,AUDIT_TRAIL参数值会后台转换为OS.

Standby为RAC时,如果应用redo的实例down掉,为保护数据的一致性,ORACLE会关闭其余OPEN READ ONLY的时候至MOUNT状态,需要手工启用另外的实例应用redo.

评估应用是否适合read-only database

参考文档:

Note:1206774.1 - EVENT: 3177 "enable logging of read-only violations"

ADG LAG

standby由于以下的原因可能产生延迟:

- CPU处理能力不足

- 高网络延迟

- 带宽限制

监控LAG:

V$DATAGUARD_STATS

V$STANDBY_EVENT_HISTOGRAM

监控redo apply性能:

V$RECOVERY_PROGRESS

Transport Lag:

SQL> select * from v$dataguard_stats where name=‘transport lag‘;

Apply lag:

SQL> select * from v$dataguard_stats where name=‘apply lag‘;

查询SCN实时比较primary和standby的LAG:

SQL> create database link standby connect to system identified by ‘oracle‘ using ‘standby‘;

SQL> select scn_to_timestamp((select current_scn from v$database))-scn_to_timestamp((select current_scn from [email protected])) LAG from dual;

 

STANDBY_MAX_DATA_DELAT参数:

STANDBY_MAX_DATA_DELAT={INTERGE|NONE},默认NONE,单位:秒,用来指定可容忍的LAG限定,参数为会话级,对SYS用户无效。

如果standby查询超出指定的时间,抛出ORA-3172 STANDBY_MAX_DATA_DELAY has been exceeded.

创建一个trigger,在用户登录时触发设定该参数:

create or replace trigger adg_logon_trigger after logon on app.schema

begin

if (sys_context(‘userenv‘, ‘database_role‘) in (‘PHYSICAL STANDBY‘))

then

execute immediate ‘alter session set standby_max_data_delay=5‘;

endif;

end;

强制redo apply同步:

SQL> alter session sync with primary;

执行此命令后,将会阻塞应用直到standby与primary同步。

创建一个trigger强制用户登录后同步redo apply:

create trigger adg_logon_sync_trigger after logon on user.schema

begin

if (sys_context(‘userenv‘,‘database_role‘) in (‘PHYSICAL STANDBY‘))

then

execute immediate ‘alter session sync with primary‘;

end if;

end;

性能提升

11g ADG的性能比10g提升了许多,oracle内部做了一些优化,介质恢复在symmetric multiprocessing (SMP) systems也比之前版本快了许多。

性能提升包括以下几点:

- 更多的并行

- 更高效的异步redo读取、解析和应用

- 减少同步点并行应用算法

- redo log介质恢复时不再阻塞应用下一组日志

原文地址:https://www.cnblogs.com/liang545621/p/9407309.html

时间: 2024-08-01 18:59:23

Active Data Guard的相关文章

Oracle11g Active Data Guard搭建、管理

说明:參考网络众多人的笔记及思路,加上自己亲身实践之后的整理笔记.仅供參考. Data Guard与RAC不同的是.在普通情况下.Standby仅仅有一个节点处于活动状态,全部的应用都连接到主server. 仅仅有当server发生问题时,才考虑切换到备用server. 在Oracle 11g曾经版本号中的的Data Guard物理备用数据库.能够以仅仅读的方式打开数据库.但此时MediaRecovery利用日志进行数据同步的过程就停止了,假设物理备用数据库处于恢复的过程中数据库就不能打开查询.

Oracle 11gR2 Database和Active Data Guard迁移案例

客户一套核心系统由一台Oracle Database 11.2.0.3.4单机和一台Active Data Guard组成,分别运行在两台PC服务器上,Oracle Linux 5.8 x86_64bit操作系统,两台服务器都未接存储设备:由于原有设备老旧等原因,现在要将这套Oracle数据库系统(主库和ADG库)迁移到新采购的两台服务器上,不跨版本,也不跨平台.为了最小化停机时间,我们先用目前最新的RMAN 0级备份在两台新服务器上restore database,之后将到目前为止的所有1级备

开启Active Data Guard

在配置active data guard之前,phycial standby必须处于以下两个状态之一: (1)standby处于mount状态,并且redo apply正在运行中 (2)standby被干净的关闭,redo apply被停止 1.配置active data guard 前提条件:standby处于mount状态,并且redo apply正在运行中 使用sql命令行: SQL> recover managed standby database cancel;#停止redo appl

YH1:Oracle Data Guard知识库

小编:大家对Oracle DataGuard 应该很熟吧? 众人:那是相当熟. 小编:好的,那我们今天就不讲基础知识了,直入主题!跟不上课的孩子自己回去补. 今天的话题包括: 12.2中ADG的性能与诊断 ADG上部署列式存储 DG跨平台迁移 DG数据恢复 DG的归档管理 12.2中ADG的性能与诊断 在Oracle 12.2中,ADG有许多惊人的改进,通过ADG standby数据库的性能数据收集和诊断.快照standby数据库的应用,以及实时的数据库操作监控的实现,能够根据用户需求相协调来提

Data Guard - Snapshot Standby Database配置

转载自:https://blogs.oracle.com/Database4CN/entry/data_guard_snapshot_standby_database 概述 一般情况下,物理standby数据库处于mount状态接收和应用主库的REDO日志,物理standby数据库不能对外提供访问.如果需要只读访问,那么可以临时以read-only的方式open物理备库,或者配置ACTIVE DATA GUARD,那么物理standby数据库可以进行只读(read-only)访问(比如报表业务查

Oracle Data Guard 单实例到单实例配置(物理standby)

接上一篇oracle dataguard概念篇,现在进行下详细的配置,此次配置的是单实例到单实例,也就是说主库和备库都是基于文件系统的单实例. 主机环境:Red Hat Enterprise Linux Server release 6.3 Rdbms版本:11.2.0.3 其他详细信息如下所示: 需要注意的是,两边的/etc/hosts文件保证都包含对方的ip对应关系 oracle安装的目录是相同的 编辑/etc/hosts,分别添加以下内容 192.168.1.241 db1 192.168

Oracle Data Guard

DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其实和 Sql Server 2008的镜像实现的功能是一样的(当然更强大一些).DG 中的物理备用库 尤其和 Sql Server 2008 的镜像实现的功能是一样的.但也有不同点:DG中的物理备用库可以在特定条件下 以只读或读写方式打开.而镜像则不可以(2012版本虽然可以读,但还是不能打开),当

Oracle Data Guard 概念篇

一个Data Guard 配置由一个生产库和一个或者多个standby数据库组成,在Data Guard配置中,主库和备库都既可以是rac环境,也可以是单机环境. 这篇文章主要介绍dataguard的一些基本知识 dataguard的分类.dataguard的服务类型.dataguard的保护模式 1.Dataguard中的备库分为物理备库和逻辑备库及快照备库 备库是主库的一致性拷贝,使用一个主库的备份可以创建多到30个备库,将其加入到dataguard环境中,创建成功后,dataguard通过

Oracle 11g Data Guard 使用duplicate from active database 创建 standby database

用这种方式来搭建DG ,主库的停机时间很少,只需要重启一下,使参数生效.也可以用这种方法进行DB迁移.DG搭建好,然后把备库激活就可以了. 这样整个迁移中宕机时间也比较短. Oracle 11g的pyhsical standby 支持open read only 下的apply和Real-time query. 因此就有了physical standby 稳定和logical standby 的报表查询功能. Oracle: 11.2.0.1 OS: redhat 5.5 Primary IP: