硬件和软件故障

您可以使用本主题中的信息来识别和解决硬件和软件问题。

表 1. 硬件和软件问题
问题 检测 解决方案
NPS® 节点发生主机故障切换。 虽然医管局的功能是自动检测。 解决方法是自动的:辅助主机接管并启动 NPS。
NPS 节点出现硬件或软件故障,导致暂时无法处理查询或更新事务。 节点故障检测可通过事件管理器报告、状态转换事件、硬件通知事件和用户开发解决方案的组合进行。 没有增加额外的检测或自动恢复能力。 您可以使用以下方法之一:
  • 解决问题,使 NPS 节点重新上线。
  • 如果 NPS 节点是主节点,请修改复制集配置(使用提供的管理命令),降级旧的主节点并提升新的主节点。
NPS 主节点上的复制捕获或应用代理发生故障,导致无法复制事务。 相关的捕获和应用过程由本地启动程序管理。 startupsvr 会检测到问题,并重新启动 replcapturereplapply 进程。
由于连接问题或本地日志服务器组件的硬件或软件问题,NPS 节点无法写入复制队列管理器或从复制队列管理器读取数据。 捕获/应用代理在尝试读取或写入事务或获取最新元数据信息时,会从 API 调用中收到错误信息。 通过 eventmgr 报告 ReplPTSError 事件。

在这个问题得到解决之前,主服务器上的所有更新事务都会失败。 在主服务器和副本上,复制都会被有效阻止,直到问题得到解决。 所有查询事务继续正常运行。

您可以使用以下方法之一:
  • 解决问题,以便自动恢复复制。
  • 如果是主服务器,可手动故障切换到不存在连接或复制队列管理器问题的子网上的新主服务器。
复制队列管理器组件之间出现通信故障。

当系统检测到复制集中的节点之间出现通信问题时,就会生成 ReplMissedMetadataHeartbeat 事件。 也就是说,连续未收到特定数量的元数据心跳,或者元数据心跳收到较晚。 有关 ReplMissedMetadataHeartbeat 事件的更多信息,以及如何配置生成该事件的条件,请参见表 1

您可以在每个受影响的节点上使用 nzreplstate -heartbeat 命令显示详细的错过心跳信息;检查命令输出以确定最近发送和接收的心跳。

您可以通过解决网络问题来解决问题。 您可以决定暂时中止主节点的复制,以避免积压未处理的事务。 如果连接中断或无响应,RQM(复制队列管理器)软件会自动重复尝试重新连接,并在重新建立连接后继续正常处理。
节点数据受损或损坏。 NPS 会检测并报告此类问题。 NPS 节点恢复服务后,使用 nzreplanalyzenzreplbackupnzreplrestore 命令恢复受损的数据库。
复制队列管理器主机的数据受到不可修复的损坏或损坏。 许多情况都可能表明这一点,包括以下情况:
  • 机器不再启动。
  • 操作系统报告从安装 RQM 的分区或驱动器读取数据时出错。
  • RQM 守护进程不运行,并报告异常或错误信息,表明存在问题。
您必须重新初始化复制队列管理器主机或初始化一个新主机,并从其他复制队列管理器主机重新同步其内容。 有关详细信息,请参阅初始化副本节点。 如果相应的 NPS 节点是当前的主节点,则必须将其降级为副本节点,并使用 nzreplanalyzenzreplbackupnzreplrestore 命令来恢复受损的数据库。
当用户在表中添加列或删除列时,表就会变成版本控制表。 更新版本控制表中的行会导致副本暂停。 副本暂停时出现以下错误:Versioned tables do not support DELETE operations that join again to the versioned table. 在复制节点上执行以下步骤:
  1. 发送带有 VERSIONS 选项的 GROOM TABLE 命令。
  2. 通过发布 ALTER REPLICATION NODE repslet. <subordinatenodename> STATE ACTIVE 命令激活复制并重新启动复制。