11g Active DataGuard初探(r5笔记第54天)

原本dataguard中日志应用和数据库只读查询是一个互斥的关系,两者不能并存。如果需要应用日志,则数据库只能在Mount状态下 使用recover managed standby database disconnect from session来不断地从后台进行日志应用。 如果想查看备库中的数据情况,则只能使用recover managed standby database cancel来取消日志应用,然后把数据库启动到read only 状态下。这种情况从道理上也讲也是有理有据,但是终归还是感觉不够方便,毕竟我们希望备库能够起到一些作用,不只是应用日志,一些大查询可以直接在备库上执行,能够分担主库的压力。11g的active dataguard就做到了这一点,重点就在于所说的active,所以这个时候数据库启动到了read only状态下,而且可以同时应用日志。如果配置备库的模式级别较高,甚至感觉和主库是一致的。 我们来简单看看这个特性。 我们来看看备库的信息。 idle> select name,database_role from v$database; NAME DATABASE_ROLE --------- ---------------- TEST11G PHYSICAL STANDBY 1 row selected. 对应的Instance信息。此时在Mount状态。 idle> select instance_name,status from v$instance; INSTANCE_NAME STATUS ---------------- ------------ DG11G MOUNTED 1 row selected. 查看日志的应用情况,发现最新的记录中日志应用的需要为 78 idle> select *from v$dataguard_status Remote File Server Warning 0 28 0 NO 01-JUN-15 RFS[2]: No standby redo logfiles of size 84490 blocks available Log Apply Services Informational 0 29 0 NO 01-JUN-15 Media Recovery Log /u02/dg11g/flash_recovery_area/DG11G/archivelog/1_77_880742847.dbf Log Apply Services Warning 0 30 0 NO 01-JUN-15 Media Recovery Waiting for thread 1 sequence 78 30 rows selected. 我们在主库切换一下日志。 #### primary database alter system switch logfile; 备库这边很快得到相应,可见dataguard的日志应用是没有问题的。这些部分和在10g中是一致的。 ########## standby alert log Mon Jun 01 22:46:51 2015 RFS[2]: No standby redo logfiles of size 57697 blocks available RFS[2]: Opened log for thread 1 sequence 78 dbid 1028247664 branch 880742847 Archived Log entry 110 added for thread 1 sequence 78 rlc 880742847 ID 0x3d942dcb dest 2: Mon Jun 01 22:46:54 2015 Media Recovery Log /u02/dg11g/flash_recovery_area/DG11G/archivelog/1_78_880742847.dbf Media Recovery Waiting for thread 1 sequence 79 这个时候我们取消日志应用,把数据库启动起来。 idle> recover managed standby database cancel; Media recovery complete. idle> alter database open; Database altered. 这个时候查看数据库的状态是read only. idle> select open_mode from v$database; OPEN_MODE -------------------- READ ONLY 1 row selected. 这个时候我们来启用日志应用,这个也是在11g中的特色了。 idle> recover managed standby database using current logfile disconnect from session; Media recovery complete. 这个时候查看状态就发生了细微的变化。 idle> select open_mode from v$database; OPEN_MODE -------------------- READ ONLY WITH APPLY 1 row selected. 这个时候为了验证,我们从主库做点什么,比如创建一个小表看看备库能够在open状态也能应用日志。 主库中执行。 sys@TEST11G> conn n1/n1 Connected. n1@TEST11G> create table aaa as select *from cat; Table created. n1@TEST11G> select count(*)from aaa; COUNT(*) ---------- 19 1 row selected. 这个时候在备库中马上查看是没有效果的。 ##### standby datababse n1@TEST11G> select *from aaa; select *from aaa * ERROR at line 1: ORA-00942: table or view does not exist n1@TEST11G> show user USER is "N1" n1@TEST11G> 这个时候我们尝试切一下主库的日志,看看备库有啥反应。 #### primary alter system switch logfile; 备库中的alert日志显示如下: ### standby log Mon Jun 01 22:59:57 2015 RFS[2]: Selected log 8 for thread 1 sequence 79 dbid 1028247664 branch 880742847 Mon Jun 01 22:59:57 2015 Archived Log entry 111 added for thread 1 sequence 79 ID 0x3d942dcb dest 1: Archived Log entry 112 added for thread 1 sequence 79 ID 0x3d942dcb dest 3: Mon Jun 01 22:59:57 2015 Media Recovery Log /u02/dg11g/switchover/DG11G/archivelog/1_79_880742847.dbf Media Recovery Waiting for thread 1 sequence 80 这个时候再次在备库查看,就发现数据变更都同步过来了。 n1@TEST11G> select count(*) from aaa; COUNT(*) ---------- 19 1 row selected. n1@TEST11G> show user USER is "N1"

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2015-06-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

分分钟搭建MySQL一主多从环境(r12笔记第31天)

之前写过一篇分分钟搭建MySQL Group Replication的测试环境,如果我们在一台服务器上想搭建一主多从的测试环境,怎么能够分分钟搞定呢,其实...

38060
来自专栏数据和云

【循序渐进Oracle】Oracle的物理备份(上)

编辑手记:备份重于一切,我们必需知道,系统总是要崩溃的,没有有效的备份只是等哪一天死!今天你备份了吗?我们一起来回顾Oracle的物理备份,本文摘自《循序渐进O...

35780
来自专栏数据和云

Oracle 18.3 : 透过告警日志从安装初始化过程看 18c 的新改变

Oracle Database 18c 已经正式对外发布,第一个公共版本的版本号是 18.3 ,让我们从 18.3 的安装过程来一睹 18c 的改变。

10800
来自专栏沃趣科技

Oracle 12c系列(三)|存储资源隔离 Flex Diskgroup

作者 姚崇 出品 沃趣技术 在12cR2版本中,我们可以在一个ASM Diskgroup提供不同的冗余级别和配额给不同的数据库使用。提到Quota会让人...

43790
来自专栏杨建荣的学习笔记

通过shell脚本定位性能sql和生成报告(r2笔记37天)

oracle的sql monitor是一个很有用的工具集。但是通过sql命令和反复去调用dbms_tune来传入参数等等操作感觉挺费事的。 可以通过如下的脚本来...

30070
来自专栏杨建荣的学习笔记

关于生产系统锁问题的排查(r3笔记第79天)

今天生产系统中的一个daemon出现了严重的数据处理延迟,客户需要我们立即给出处理的方案。在综合评估之后,为了不保证在线业务延迟,开发部门给出了临时的解决意见。...

30550
来自专栏DannyHoo的专栏

开发后期在各个页面中添加友盟统计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

32520
来自专栏杨建荣的学习笔记

dg broker配置的问题及分析 (r7笔记第22天)

今天在配置一个备库的时候碰到了一些问题,话说配置dg broker真没什么特别需要注意的细节了,本身已经给DBA省了很大的事儿了。 但是有时候就是会出现一些稀奇...

40040
来自专栏SpringBoot 核心技术

第三十章:SpringBoot使用MapStruct自动映射DTO

1.1K70
来自专栏杨建荣的学习笔记

备库跳归档恢复的有趣案例(r9笔记第19天)

在Data Guard环境中,主备库基本都是使用归档来传递数据的变化。如果主备的归档传输中断,同时主库的归档被删除或者损坏,这种情况下备库是没法开始继续...

34850

扫码关注云+社区

领取腾讯云代金券