您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

替换协调器(手动故障转移)

请确保协调器不再运行之后您才能替换该协调器。

先决条件

  • 在执行手动故障转移之前,协调器进程必须已失效。 注意 在最坏的情况下,之前的协调器计算机可能仍在运行但已与网络断开连接,或者处于硬件休眠状态。在这种情况下,您无法登录到协调器计算机,但协调器计算机仍可在没有警告的情况下开始正常工作。理想情况下,运行协调器的计算机应该在手动故障转移进程中关闭。

  • 如有可能,请使用指定故障转移节点的读取程序。读取程序没有待执行的可写入事务,这简化了故障转移。

  • 指定的协调器节点必须已包括在内并作为 Multiplex 的一部分。

    过程

  1. 请确保协调器进程已失效且 ENABLE_AUTOMATIC_FAILOVER 逻辑服务器策略选项为 OFF。警告 当之前的协调器进程仍活动或已启用自动故障转移时,不要启动手动故障转移。否则可能造成数据库损坏。 如果在关闭原始协调器时有任何读写事务在辅助节点上运行,这些事务将回退。理想情况下,如果协调器在专用服务器硬件上运行,则该计算机应在故障转移进程中关闭。选项说明UNIX登录到协调器计算机并确保已设置环境变量,然后发出以下命令,并停止相应 iqsrv16 进程:stop_iqWindows登录到协调器计算机。启动任务管理器并查找名为 iqsrv16.exe 的进程。停止 iqsrv16.exe 进程。 

  1. 要标识指定的故障转移节点,请连接到任何正在运行的 Multiplex 服务器并执行存储过程 sp_iqmpxinfo。列 coordinator_failover 显示指定的故障转移节点。

  1. 连接到指定的故障转移节点并运行 COMMIT,然后运行 BEGIN TRANSACTION 以确保此节点使用最新的 TLV 日志保持为最新状态。使用 dbstop 实用程序完全关闭指定的故障转移节点。

  1. 在命令行中,使用故障切换开关 (-iqmpx_failover 1) 在服务器启动实用程序上重新启动计划的协调器:start_iq -STARTDIR/host1/mpx@params.cfg -iqmpx_failover 1 -n mpxnode_w1 -x "tcpip{port=2764}"mpxtest.db

    结果

    服务器启动完成后,故障转移进程完成,指定的故障转移节点成为新的协调器节点。故障转移后,在后续事务中,其它辅助服务器识别新的协调器并连接到该协调器以处理所有读写事务。将之前的协调器与新协调器同步后,之前的协调器将成为读取程序并可作为常规辅助节点启动。