当前位置:  数据库>oracle

Oracle 11g Active DataGuard初探

    来源: 互联网  发布时间:2017-06-17

    本文导语: 原本dataguard中日志应用和数据库只读查询是一个互斥的关系,两者不能并存。如果需要应用日志,则数据库只能在Mount状态下 使用recover managed standby database disconnect from session来不断地从后台进行日志应用。 如果想查看备库中的...

原本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"

相关参考:

Oracle Data Guard 重要配置参数

基于同一主机配置 Oracle 11g Data Guard

探索Oracle之11g DataGuard

Oracle Data Guard (RAC+DG) 归档删除策略及脚本

Oracle Data Guard 的角色转换

Oracle Data Guard的日志FAL gap问题

Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3