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 v$database@standby)) 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介质恢复时不再阻塞应用下一组日志
Active Data Guard的更多相关文章
- DG - 开启Active Data Guard
在配置active data guard之前,phycial standby必须处于以下两个状态之一: (1)standby处于mount状态,并且redo apply正在运行中 (2)standby ...
- Oracle 11gR2 Database和Active Data Guard迁移案例
客户一套核心系统由一台Oracle Database 11.2.0.3.4单机和一台Active Data Guard组成,分别运行在两台PC服务器上,Oracle Linux 5.8 x86_64b ...
- Oracle11g Active Data Guard搭建、管理
说明:參考网络众多人的笔记及思路,加上自己亲身实践之后的整理笔记.仅供參考. Data Guard与RAC不同的是.在普通情况下.Standby仅仅有一个节点处于活动状态,全部的应用都连接到主serv ...
- Oracle Data Guard
DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其 ...
- Oracle 19c Data Guard DML Redirection ADG备库上执行DML重定向(未来更好的进行读写分离)
资料来自官方网站: https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/managing-oracle-data-g ...
- 使用Active Database Duplication创建跨平台Data Guard设置 (Windows/Linux) (Doc ID 881421.1)
Using Active Database Duplication to Create Cross Platform Data Guard Setup (Windows/Linux) (Doc ID ...
- 场景7 Data Guard
场景7 Data Guard 官方文档 :Oracle Data Guard Concepts and Administration 用于数据容灾,通过主备库同步(主库将redo日志传送到备库,一个 ...
- 【原】Configuring Oracle Data Guard In Physical Standby Database
作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...
- data guard switchover切换异常
data guard switchover切换异常 查看DG数据库备份库发现,switchover_status为SWITCHOVER LATENT SQL> select OPEN_MODE, ...
随机推荐
- zookeeper启动闪退
编辑zkServer.cmd在它的尾行加上 pause 就可以将闪退停住来观察闪退的原因. 遇到Exception in thread "main" java.lang. ...
- 维生素C主要生理功能
维C是:维生素C又叫抗坏血酸,是一种水溶性维生素. 维生素C主要生理功能 1. 促进骨胶原的生物合成.利于组织创伤口的更快愈合: 维生素C在体内参与多种反应,如参与氧化还原过程,在生物氧化和还原作用以 ...
- mongodb 的索引
索引加快了查询速度,但是降低了写入速度.所以不要在没必要的属性上加索引. 在 mongodb 中索引可以按倒序/正序创建,便于排序. ...
- 记intel杯比赛中各种bug与debug【其三】:intel chainer的安装与使用
现在在训练模型,闲着来写一篇 顺着这篇文章,顺利安装上intel chainer 再次感谢 大黄老鼠 intel chainer 使用 头一次使用chainer,本以为又入了一个大坑,实际尝试感觉非常 ...
- Windows 10 计划带来颜文字和Sandbox
在最新的 Window 10 测试版 Build 18305 中,Windows 10 增加了对颜文字(kaomoji)的支持. Kaomoji 是由日本符号序列组成的面脸部表情的名称.虽然有些人,比 ...
- Spring配置方式
Spring配置方式 第一阶段:xml配置 在spring 1.x时代,使用spring开发满眼都是xml配置的bean,随着项目的扩大, 我们需要把xml配置文件分放到不同的配置文件中,那时 ...
- PKU 2528 Mayor's posters
题意: 一个公告板上面贴海报,宽度都是一样的,长度可能不一样.后面的海报可能把前面的覆盖掉.问最后能看见多少张不同的海报. 思路: 这题原来做过,是用线段树的区间染色写的.记录每个区间是纯色还是杂色. ...
- ArcGIS api for javascript——放大时切换图层
描述 本例展示了如何在地图里指出显示的缓存或切片的细节等级(LODs).当打开示例地图,可以看到一些来自ArcGIS Online ESRI_Imagery_World_2D图层的影像.这个应用程序配 ...
- python之文件操作-复制、剪切、删除等
以下是把sourceDir目录下的以.JPG结尾的文件所有拷贝到targetDir目录下: <span style="font-size:18px;">>> ...
- windows server,无桌面服务器 , 批处理更改时区
windows server,无桌面服务器 , 批处理更改时区 time /t cmd.exe /c Control.exe TIMEDATE.CPL,,/Z "China Standard ...