hadr中启用备库只读功能后,有哪些手段可以控制replay?

hadr启用备库只读功能后,备机可以承担查询请求,但是到遇到日志重放时,旧连接被终止、新连接被阻挡。影响查询业务的连续性。有哪些手段可以避免这种现象?有个设想:通过设置较大的日志假脱机容量空间是否有效(即HADR_SPOOL_LIMIT)?谢谢!...显示全部

hadr启用备库只读功能后,备机可以承担查询请求,但是到遇到日志重放时,旧连接被终止、新连接被阻挡。影响查询业务的连续性。有哪些手段可以避免这种现象?

有个设想:通过设置较大的日志假脱机容量空间是否有效(即HADR_SPOOL_LIMIT)?
谢谢!

收起
参与15

返回leilin的回答

leilinleilin数据库管理员IBM

hadr备库只读功能目前存在replay only window的情况,即对某些主库上的操作,如DDL,reorg,runstats等,备库上的连接会被中断,当退出replay only window后,备库才允许新的数据库连接。可以考虑在replay only window期间临时将只读数据库连接切换到主库上。可以通过db2dsdriver.cfg客户端配置来实现:

<configuration>
<dsncollection>

  <dsn alias="SAMPLE" name="SAMPLE" host="172.16.15.56" port="50000">
     <parameter name="Authentication" value="Server"/>
  </dsn>

</dsncollection>

<databases>

  <database name="SAMPLE" host="172.16.15.56" port="50000">
     <acr>
        <parameter name="enableAcr" value="true"/>
        <parameter name="enableSeamlessAcr" value="true"/>
        <parameter name="enableAlternateServerListFirstConnect" value="false"/>
        <parameter name="affinityFailbackInterval" value="60"/>
        <parameter name="maxAcrRetries" value="1"/>
        <parameter name="acrRetryInterval" value="0"/>
        <alternateserverlist>
           <server name="server1" hostname="172.16.15.56" port="50000"></server>
           <server name="server2" hostname="172.16.15.58" port="50000"></server>
        </alternateserverlist>
        <affinitylist>
           <list name="list1" serverorder="server1,server2"></list>
        </affinitylist>
        <clientaffinitydefined>
           <client name="client1" hostname="172.16.15.56" listname="list1"></client>
        </clientaffinitydefined>
     </acr>
  </database>

</databases>

<parameters>

  <parameter name="CommProtocol" value="TCPIP"/>

</parameters>
</configuration>

该配置中,172.16.15.56是hadr备库,172.16.15.58是hadr主库,正常时只读应用连接到172.16.15.56,当进入replay only window后,只读数据库连接断开报错,尝试连接到172.16.15.58主库。随后,每间隔affinityFailbackInterval秒,只读数据库连接尝试回切到备库172.16.15.56,如果已经退出了replay only window,该尝试会成功,否则只读应用继续在主库上运行。

建议主库上会导致进入replay only window的操作在运维窗口进行,减少对只读应用的影响。

IT其它 · 2017-11-28
浏览2880

回答者

leilin
数据库管理员IBM

leilin 最近回答过的问题

回答状态

  • 发布时间:2017-11-28
  • 关注会员:2 人
  • 回答浏览:2880
  • X社区推广