ORACLE DG专题5--物理备库与snapshot备库切换

前言

         继续前文描述,本文讲解oracle DG备库的最后一种类型:snapshot—快照库。与其他备库不同,snapshot备库是一种完全可以更新的备库,由物理备库切换而来。

当物理备库切换至snapshot备库时,snapshot继续接收主库传过来的redo log,但不应用redo log。同时,snapshot以读写模式打开,允许进行数据的读写,对snapshot库的写入数据不会同步到主库,后续切回至物理备库时,所有写入数据丢失。

         以上snapshot的特性可用于测试环境临时打开读写功能。

相关操作

physical备切换至snapshot备

  • 查看物理备库状态

SQL> select database_role,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE

---------------- --------------------

PHYSICAL STANDBY READ ONLY WITH APPLY

SYS >  select process,status from v$managed_standby;

PROCESS   STATUS

--------- ------------

ARCH      CLOSING

ARCH      CLOSING

ARCH      CONNECTED

ARCH      CLOSING

RFS       IDLE

RFS       IDLE

RFS       IDLE

RFS       IDLE

MRP0      APPLYING_LOG

9 rows selected.

  • 关闭实时同步
SQL> recover managed standby database cancel;
  • 切换至snapshot备库
SQL> alter database convert to snapshot standby;
  • 打开备库
SQL> alter database open;
  • 查看数据库角色与打开模式
SQL> select database_role,open_mode from v$database;

整个流程图示如下:

      

snapshot切回至physical备

  • snapshot备库shutdown
SQL> shutdown immediate;
  • 启动到mount状态
SQL> startup mount;
  • 切换至物理备库
SQL> alter database convert to physical standby;
  • 再次shutdown
SQL> shutdown immediate;
  • 启动到mount状态
SQL> startup mount;
  • 备库启动日志应用
SQL> recover managed standby database using current logfile disconnect
  • 查看物理备库状态
SQL> select database_role,open_mode from v$database;
SQL> select process,status from v$managed_standby;

整个流程如下图所示:

猜你喜欢

转载自blog.csdn.net/zhaogang1993/article/details/101016877