Data Guard - Snapshot Standby Database配置

简介:

概述
一般情况下,物理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

作者:czmmiao  文章出处:http://czmmiao.iteye.com/blog/2124898
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
SQL Oracle 关系型数据库
【原】Configuring Oracle Data Guard In Physical Standby Database
作者:david_zhang@sh 【转载时请以超链接形式标明文章】 http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https://azure.
969 0
ORA-01103: database name 'test' in control file is not 'standby'
主备primary,standby库的instance name不一致引起的 把备库的db_name要和主库一致,但*.
1121 0
【DataGuarad】ORA-1153 trying to turn on Flashback for Physical Standby Database
当试图开启备库的flashback功能时报如下错误: SQL> alter database flashback on; alter database flashback on * ERROR at line 1: ORA-01153: an incompati...
810 0
|
1月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
71 0
|
4月前
|
Oracle 关系型数据库 数据库
windows Oracle Database 19c 卸载教程
打开任务管理器 ctrl+Shift+Esc可以快速打开任务管理器,找到oracle所有服务然后停止。 停止数据库服务 在开始卸载之前,确保数据库服务已经停止。你可以使用以下命令停止数据库服务: net stop OracleServiceORCL Universal Installer 卸载Oracle数据库程序 一般情况运行Oracle自带的卸载程序,如使用Universal Installer 工具卸载。 点击开始菜单找到Oracle,然后点击Oracle安装产品,再点击Universal Installer。 点击之后稍等一会然后会进入进入下图界面,点击卸载产品。 选中要删除的Orac
105 1
|
5月前
|
存储 Oracle 关系型数据库
windows 使用 Oracle Database 19c
Oracle数据库是由美国Oracle Corporation(甲骨文公司)开发和提供的一种关系型数据库管理系统,它是一种强大的关系型数据库管理系统(RDBMS)。它使用表格(表)组织和存储数据,通过SQL语言进行数据管理。数据以表格形式存储,表之间可以建立关系。支持事务处理、多版本并发控制、安全性和权限控制。具有高可用性、容错性,支持分布式数据库和可扩展性。Oracle Corporation提供全面的支持和服务,使其成为企业级应用的首选数据库系统。
58 0

热门文章

最新文章