温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DG -- READ ONLY模式怎么打开物理Standby

发布时间:2021-11-08 09:58:24 来源:亿速云 阅读:211 作者:柒染 栏目:建站服务器

本篇文章给大家分享的是有关DG -- READ ONLY模式怎么打开物理Standby,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

物理Standby  概念

DG通过REDO应用来维护物理Standby数据库。

通常在物理Standby没有执行REDO应用操作的时候,可以将物理Standby数据库以READ ONLY模式打开,如果数据库中指定了Flashback Area的话,甚至还可以被临时性的置为READ WRITE模式,操作完之后再通过Flashback Database特性恢复回READ WRITE前的状态,以便继续接收Primary端发送的REDO并应用。

REDO应用。物理Standby通过REDO应用来保持与Primary数据库的一致性,所谓的REDO应用,实质是通过Oracle的恢复机制,应用归档文件(或Standby Redologs文件)中的REDO数据。恢复操作属于块对块的应用。如果正在执行REDO应用的操作,Oracle数据库就不能被Open。

READ ONLY模式打开。以READ ONLY模式打开后,可以在Standby数据库执行查询或备份等操作(变相减轻Primary数据库压力)。此时Standby数据库仍然能够继续接收Primary数据库发送的REDO数据,不过并不会应用,直到Standby数据库重新恢复REDO应用。

也就是说在READ ONLY模式下不能执行REDO应用,REDO应用时数据库肯定处于未打开状态。如果需要的话,你可以在两种状态间转换,如先应用REDO,然后将数据库置为READ ONLY状态,需要与Primary同步时再次执行REDO应用命令,切换回REDO应用状态。呵呵,人生就是循环,数据库也是一样。

提 示: Oracle 11g版本中增强物理Standby的应用功能,在11g版本中,物理Standby可以在OPEN READ ONLY模式下继续应用REDO数据,这就极大地提升了物理Standby数据库的应用场合。

READ WRITE模式打开。如果以READ WRITE模式打开,那么Standby数据库将暂停从Primary数据库接收REDO数据,并且暂时失去灾难保护的功能。当然,以READ WRITE模式打开也并非一无是处,如你可能需要临时调试一些数据,但又不方便在正式库中操作,那就可以临时将Standby数据库置为READ WRITE模式,操作完之后将数据库闪回到操作前的状态(闪回之后,Data Guard会自动同步,不需要重建物理Standby,不过如果从另一个方向看,没有启动闪回,那就回不到READ WRITE前的状态了)。

--===========================================

通常情况下物理standby处于mounted模式

当standby正常应用redo数据时其打开模式处于mounted模式

SQL>select open_mode from v$database;
OPEN_MODE
———-
MOUNTED

要将物理Standby数据库从REDO应用状态启动到READ ONLY状态,并不能直接ALTER DATABASE OPEN打开数据库,首先要取消redo应用

SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

然后再打开数据库:

SQL>alter database open;

查询打开模式
SQL>select open_mode from v$database;
OPEN_MODE
———-
READ ONLY

要从OPEN状态切换回REDO应用状态,并不需要SHUTDOWN数据库再启动,直接执行启用REDO应用的语句即可

SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

--============================================

模拟过程:修改主库数据-->递交,切换日志--> 日志主备传输 -->备库redo应用 -->只读模式打开备库--> 读数据

DG   最大性能模式

主库

SQL> update scott.emp set sal=2000 where empno=7369;

1 row updated.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
            14

物理备库

SQL> select open_mode from v$database;

OPEN_MODE
----------
MOUNTED

SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
            14

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

SQL> alter database open;

Database altered.

SQL> select sal from scott.emp where empno=7369;

       SAL
----------
      2000
--======================================================

以上就是DG -- READ ONLY模式怎么打开物理Standby,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI