1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

Oracle 12c R2中的ADG会话保留特性

2022-11-22 | 数据库 | admin | 649°c
A+ A-

Oracle 12c R2中有一个不错的特性,那就是Active Data Guard会话保留,原本的叫法是Preserving Active Data Guard Application Connections

怎么理解呢,比如在Active Data Guard上的连接会话,在switchover的过程中会话连接会始终保持不会中断。这一点听起来就很有特点,能够提高用户体验度,而且是一种相对透明的方式。

到底怎么样呢,我们来简单测试一下,先看看默认情况下的ADG会话情况,切换的过程就直接使用DG Broker来做了,快。

这是一个12cR2的环境,也使用了Far Sync。

DGMGRL>showconfiguration
Configuration-dg_test12cs
ProtectionMode:MaxPerformance
Members:
test12cs-Primarydatabase
test_sync-Farsyncinstance
test12css-Physicalstandbydatabase
Fast-StartFailover:DISABLED
ConfigurationStatus:

SUCCESS (status updated 10 seconds ago)我们连接到备库,备库现在是ADG模式。

SQL>selectopen_modefromv$database;
OPEN_MODE
----------------------------------------

READ ONLY WITH APPLY如果这个时候我们就使用一条语句在备库端查询,使用TNS连接,然后DG Broker来切换,切换的情况如下,也是一气呵成。

DGMGRL>switchovertotest12css
PerformingswitchoverNOW,pleasewait...
Operationrequiresaconnectiontodatabase"test12css"
Connecting...
Connectedto"test12css"
ConnectedasSYSDBA.
Newprimarydatabase"test12css"isopening...
Operationrequiresstartupofinstance"test12cs"ondatabase"test12cs"
Startinginstance"test12cs"...
forRDBMSinstance
ORACLEinstancestarted.
Databasemounted.
Databaseopened.
Connectedto"test12cs"
Switchoversucceeded,newprimaryis"test12css"
DGMGRL>

在客户端反复测试连接的情况如下:

SQL>selectcount(*)fromcat;
COUNT(*)
----------
153
SQL>/
COUNT(*)
----------
153
SQL>/
selectcount(*)fromcat
*
ERRORatline1:
ORA-03113:end-of-fileoncommunicationchannel
ProcessID:94489
SessionID:419Serialnumber:62932

可以看到在切换的过程中,连接被中断了,而接下来就会彻底断开连接。

SQL>/
ERROR:
ORA-03114:notconnectedtoORACLE

这里就需要说一下这个特性的情况,其实还涉及到一个参数standby_db_preserve_states,默认是NONE

SQL>showparameterstandby_db_preserve_states
NAMETYPEVALUE
----------------------------------------------------------------
standby_db_preserve_statesstringNONE

我们设置为ALL,这个修改需要重启备库,我们设置好之后,再来做switchover

步骤和上面的类似,我们直接来看看效果,始终在这一个会话内查看数据查询的情况,整个过程相对平滑,在切换过程中会有一个大约两秒的停顿,但是连接始终是保持的。

COUNT(*)
----------
153
SQL>/
COUNT(*)
----------
153
SQL>/
COUNT(*)
----------
153
SQL>/

COUNT(*)
----------
153
SQL>/
COUNT(*)
----------
153

整体来看这个特性确实达到了预期的效果,还是蛮不错的。

本文来源:1818IP

本文地址:https://www.1818ip.com/post/10809.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。