设为首页 加入收藏

TOP

Oracle Standby Redo Log实验两则(一)
2015-11-12 21:29:26 来源: 作者: 【 】 浏览:23
Tags:Oracle Standby Redo Log 实验

根据不同的保护模式(Protection Mode),主库Primary和备库Standby维持一种同步关系。这主要体现在一旦网络连接中断或者应用动作Apply中断,主库的事务形式上。那么,在默认保护模式情况下,如果主库不断的将新的redo log发送给Standby端,standby redo log写满或者切换满之后,Oracle的行为是什么样?下面通过实验来进行验证。


1、环境说明


笔者使用Oracle 11gR2进行测试,具体版本编号是11.2.0.4。当前Primary和Standby端已经搭建完成,Redo Apply动作正常。


主库Primary情况如下:


SQL> select open_mode, database_role from v$database;


OPEN_MODE? ? ? ? ? ? DATABASE_ROLE


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


READ WRITE? ? ? ? ? PRIMARY


SQL> select group#, sequence#, archived, status from v$log;


? ? GROUP#? SEQUENCE# ARCHIVED STATUS


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


? ? ? ? 1? ? ? ? 37 NO? ? ? CURRENT


? ? ? ? 2? ? ? ? 35 YES? ? ? INACTIVE


? ? ? ? 3? ? ? ? 36 YES? ? ? INACTIVE


SQL> select recid, sequence#, ARCHIVED, APPLIED, DELETED from v$archived_log where name='vlifesb';


? ? RECID? SEQUENCE# ARCHIVED APPLIED? DELETED


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


(篇幅原因,有省略……)


? ? ? ? 20? ? ? ? 31 YES? ? ? YES? ? ? NO


? ? ? ? 22? ? ? ? 32 YES? ? ? YES? ? ? NO


? ? ? ? 24? ? ? ? 33 YES? ? ? YES? ? ? NO


? ? ? ? 26? ? ? ? 34 YES? ? ? YES? ? ? NO


? ? ? ? 28? ? ? ? 35 YES? ? ? YES? ? ? NO


? ? ? ? 30? ? ? ? 36 YES? ? ? NO? ? ? ? NO


15 rows selected


Standby端情况如下:


SQL> select open_mode, database_role from v$database;


OPEN_MODE? ? ? ? ? ? DATABASE_ROLE


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


READ ONLY WITH APPLY PHYSICAL STANDBY


SQL> select group#, dbid, sequence#, used, archived, status from v$standby_log;


? ? GROUP# DBID? ? ? ? ? ? ? ? ? SEQUENCE#? ? ? USED ARCHIVED STATUS


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


? ? ? ? 4 4207470439? ? ? ? ? ? ? ? ? 37? ? 6491648 YES? ? ? ACTIVE


? ? ? ? 5 UNASSIGNED? ? ? ? ? ? ? ? ? ? 0? ? ? ? ? 0 NO? ? ? UNASSIGNED


? ? ? ? 6 UNASSIGNED? ? ? ? ? ? ? ? ? ? 0? ? ? ? ? 0 YES? ? ? UNASSIGNED


SQL> select recid, sequence#, ARCHIVED, APPLIED, DELETED from v$archived_log where name is not null;


? ? RECID? SEQUENCE# ARCHIVED APPLIED? DELETED


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


? ? ? ? 11? ? ? ? 32 YES? ? ? YES? ? ? NO


? ? ? ? 12? ? ? ? 33 YES? ? ? YES? ? ? NO


? ? ? ? 13? ? ? ? 34 YES? ? ? YES? ? ? NO


? ? ? ? 14? ? ? ? 35 YES? ? ? YES? ? ? NO


? ? ? ? 15? ? ? ? 36 YES? ? ? IN-MEMORY NO


当前两者同步开启状态,Standby Redo Log当前对应编号是37,与Primary端的Current Redo Log相匹配。


2、中断监听传输测试


数据库宕机”是我们经常说到的数据库故障名词。但是宕机会有不同的故障点和故障方式。如果在Redo Apply的过程中,监听器发生故障终止服务,系统是什么方式和现象。


查看Standby端监听器情况,关闭监听器。


[oracle@vLIFE-URE-OT-DB-STANDBY ~]$ lsnrctl status


LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 19-OCT-2015 11:07:58


Copyright (c) 1991, 2013, Oracle.? All rights reserved.


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))


STATUS of the LISTENER


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


(篇幅原因,有省略……)


Service "vlifesb" has 2 instance(s).


? Instance "vlifesb", status UNKNOWN, has 1 handler(s) for this service...


? Instance "vlifesb", status READY, has 1 handler(s) for this service...


The command completed successfully


[oracle@vLIFE-URE-OT-DB-STANDBY ~]$ lsnrctl stop


LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 19-OCT-2015 11:08:04


Copyright (c) 1991, 2013, Oracle.? All rights reserved.


Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))


The command completed successfully


当终止Standby端监听程序的时候,主库立即在alert log中有对应反映。


******************************************


Fatal NI connect error 12541, connecting to:


?(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.19.90)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=vlifesb)(CID=(PROGRAM=oracle)(HOST=vLIFE-URE-OT-DB-PRIMARY)(USER=oracle))))


? VERSION INFOR

首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySQL 多主多活 Galera 集群部署.. 下一篇CentOS下Redis高可用安装过程

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: