当前位置:首页 > 开发 > 数据库 > 正文

Data Guard - Snapshot Standby Database配置

发表于: 2014-10-07   作者:czmmiao   来源:转载   浏览次数:
摘要: 概述一般情况下,物理standby数据库处于mount状态接收和应用主库的REDO日志,物理standby数据库不能对外提供访问。如果需要只读访问,那么可以临时以read-only的方式open物理备库,或者配置ACTIVE DATA GUARD,那么物理standby数据库可以进行只读(read-only)访问(比如报表业务查询),但是物理standby数据库不能进行读写操作(read-writ

概述
一般情况下,物理standby数据库处于mount状态接收和应用主库的REDO日志,物理standby数据库不能对外提供访问。如果需要只读访问,那么可以临时以read-only的方式open物理备库,或者配置ACTIVE DATA GUARD,那么物理standby数据库可以进行只读(read-only)访问(比如报表业务查询),但是物理standby数据库不能进行读写操作(read-write)。
有些情况下,为了实现系统的压力测试或者Real Application Testing(RAT)或者其他读写操作测试,那么可以临时将物理standby数据库转换为snapshot standby数据库然后进行测试,因为snapshot standby数据库是独立于主库的,并且是可以进行读写操作(read-write)。测试过程中snapshot standby数据库正常接收主库的归档日志,保证主库的数据安全,但是不会应用这些日志,当压力测试结束后,可以非常简单的再将snapshot standby转换为物理standby数据库,继续同步主库日志。
配置
1.物理standby配置闪回日志
SQL> Alter system set db_recovery_file_dest_size=500M;
System altered.
SQL> Alter system set db_recovery_file_dest='/u01/app/oracle/snapshot_standby';
System altered.
2.物理standby停止应用日志
SQL> alter database recover managed standby database cancel;
Database altered.
3.物理standby转换为snapshot standby,并且open snapshot standby
SQL> alter database convert to snapshot standby;
Database altered.
SQL> alter database open;   
Database altered.
PS:如果使用DG Broker,可以用如下命令进行转换
DGMGRL> convert database slave to snapshot standby;
检查snapshot standby数据库角色是SNAPSHOT STANDBY,open模式是READ WRITE:
SQL> select DATABASE_ROLE,name,OPEN_MODE from v$database;
DATABASE_ROLE    NAME      OPEN_MODE
---------------- --------- --------------------
SNAPSHOT STANDBY FSDB      READ WRITE
4.对snapshot standby数据库进行压力测试或者Real Application Testing(RAT)或者其他读写操作。
5.测试结束后,再将snapshot standby转换为physical standby,并且重新开始应用日志
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Database mounted.
SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
Database altered.
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Database mounted.
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Database altered.
5.转换为物理standby后,查看备库角色是PHYSICAL STANDBY,open模式是MOUNTED
SQL> select DATABASE_ROLE,name,OPEN_MODE from v$database;
DATABASE_ROLE    NAME      OPEN_MODE
---------------- --------- --------------------
PHYSICAL STANDBY FSDB      MOUNTED
6.检查主库和物理备库日志是同步的
主库日志:
SQL> select ads.dest_id,max(sequence#) "Current Sequence",
           max(log_sequence) "Last Archived"
       from v$archived_log al, v$archive_dest ad, v$archive_dest_status ads
       where ad.dest_id=al.dest_id
       and al.dest_id=ads.dest_id
       and al.resetlogs_change#=(select max(resetlogs_change#) from v$archived_log )
       group by ads.dest_id;
   DEST_ID Current Sequence Last Archived
---------- ---------------- -------------
     1              361           361
     2              361           362
--备库日志
SQL>    select al.thrd "Thread", almax "Last Seq Received", lhmax "Last Seq Applied"
      from (select thread# thrd, max(sequence#) almax
          from v$archived_log
          where resetlogs_change#=(select resetlogs_change# from v$database)
          group by thread#) al,
         (select thread# thrd, max(sequence#) lhmax
          from v$log_history
          where resetlogs_change#=(select resetlogs_change# from v$database)
          group by thread#) lh
     where al.thrd = lh.thrd;
    Thread Last Seq Received Last Seq Applied
---------- ----------------- ----------------
         1               361              361

 

参考至:https://blogs.oracle.com/Database4CN/entry/data_guard_snapshot_standby_database
              http://tech.ddvip.com/2013-08/1377883448201885.html

如有错误,欢迎指正

邮箱:czmcj@163.com

Data Guard - Snapshot Standby Database配置

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在Oracle 10g logical standby 的模式下,如果主库出现了故障,备用库也可以迅速切换成主库使用。
配置data guard broker配置文件基本参数 每个数据库中都会维护两份配置文件,这样能保证任何时候我
1.Oracle Data Guard概述<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:
是什么: pirmary/production database + physical standby database(redo) + logical standby data
Data Guard broker概览 Data Guard broker是建立在Data Guard基础上的一个对Data Guard配置,集中管
Data Gurad概述 不少未实际接触过dg的初学者可能会下意识以为data guard是一个备份恢复的工具。我要
1.概述 Data Guard支持两种使用LNS(Log Network Server)进程的重做传输方法:同步(SYNC)和异步
1、Data Guard组件介绍 Data Guard架构归类为3个主要的组件。 Data Guard 重做传输服务 重做传输服
Data Guard主要提供两个服务: 1)Redo传输服务:即把Primay端的Redo日志传输到一个或多个Standby目
Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最大保护“
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号