内存数据库状态异常故障检查及处理
问题描述
主机显示为非Primary模式,备机显示非Secondary模式
处理过程
以smdb用户登录主、备机,执行如下命令:
% mdstatus -s
? 显示如下结果,表明主机运行模式正常
System Mode: Primary
? 显示如下结果,表明备机运行模式正常
System Mode: Secondary
如果主机模式不正确,处理方式如表2所示。
表2 主机模式异常的处理方法 主机异常模式 建议处理方法 Single 确认DBFilePath和LogFilePath目录可以正常读写后,转成主机模式。主机恢复后,请参考【平台】内存数据库备机故障处理恢复备机。 Secondary 确认备机是否也是Secondary模式,如果是,则需要将一台机器转成主机模式。 Invalid 确认备机是否已切换为主机,如果是,则删除备机(原主机)内存数据库,使用网络方式进行恢复,如恢复失败,请根据相关日志进行分析问题,仍不能解决请联系表2 主机模式异常的处理方法 主机异常模式 建议处理方法 华为工程师。 Primary to Secondary 通常是正在进行双机切换,原主机正在给备机同步逻辑日志。通过mdstatus -route判断PendingLog是否在变化,如果有变化则等待自动切换完成。如果长时间(三分钟以上)没有变化,建议查看错误日志信息,如果仍不能解决请联系华为工程师。 Secondary to Primary 确认该机器为主机,执行procs.sh命令,确认mdb_rcv0进程是否正常运行。如果是,通过mdstatus -route判断PendingLog是否在变化,如果有变化则等待自动切换完成。如果长时间(三分钟以上)没有变化,建议查看错误日志信息,如果仍不能解决请联系华为工程师。 如果备机模式不正确,处理方式如表3所示。
表3 备机模式异常的处理方法 备机异常模式 建议处理方法 Single 已经跟主机不同步,请参考【平台】内存数据库备机故障处理恢复备机。 表3 备机模式异常的处理方法 备机异常模式 建议处理方法 Primary 确认主机侧是否也是Primary模式,如果是,需要将一台机器转成备机模式。 Primary to Secondary 通常是正在进行双机切换,原主机正在给备机同步逻辑日志。通过mdstatus -route判断PendingLog是否在变化,如果有变化则等待自动切换完成。如果长时间(三分钟以上)没有变化,建议查看错误日志信息,如果仍不能解决请联系华为工程师。 Secondary to Primary 确认该机器为主机,执行procs.sh命令,确认mdb_rcv0进程是否正常运行。如果是,通过mdstatus -route判断PendingLog是否在变化,如果有变化则等待自动切换完成。如果长时间(三分钟以上)没有变化,建议查看错误日志信息,如果仍不能解决请联系华为工程师。 Invalid 无效模式,备机存在问题导致的模式,需要根据相应的原因进行处理。 用mdstatus -s可以看到无效模式的原因,根据不同的原因采用下面相应的方法进行处理: ? 原因是“storage space of standby or DR database is different from that of active database.”。则参考【平表3 备机模式异常的处理方法 备机异常模式 建议处理方法 台】内存数据库备机故障处理进行处理。 ? 原因是“the primary machine can't find the redo log that secondary machine need.”。则参考【平台】内存数据库备机故障处理进行处理。 ? 原因是“the received log can't save on the secondary machine.”。则需要确认smdb_config.cfg配置文件中的LogFilePath配置项对应的目录存在,而且需要确保smdb用户对该目录有写权限,目录对应的磁盘有剩余空间,然后参考【平台】内存数据库备机故障处理进行处理。 ? 原因是“backup failed on the secondary machine.”。则需要确认smdb_config.cfg配置文件中的DBFilePath配置项对应的目录存在,而且需要确保smdb用户对该目录有写权限,目录对应的磁盘有剩余空间,然后参考【平台】内存数据库备机故障处理进行处理。 ? 原因是“The smdblogmode is improper.”。则参考【平台】内存数据库备机故障处理进行处理。 ? 原因是“The smdb kernel process is not found.”。则执行下面三个命令:mdmode -s single、mdmode -s secondary和start_mdb.sh进行恢复。 根因 N/A
解决方案
以smdb用户登录主、备机,执行如下命令:
% mdstatus -s
? 显示如下结果,表明主机运行模式正常
System Mode: Primary
? 显示如下结果,表明备机运行模式正常
System Mode: Secondary
如果主机模式不正确,处理方式如表2所示。
表2 主机模式异常的处理方法 主机异常模式 建议处理方法 Single 确认DBFilePath和LogFilePath目录可以正常读写后,转成主机模式。主机恢复后,请参考【平台】内存数据库备机故障处理恢复备机。 Secondary 确认备机是否也是Secondary模式,如果是,则需要将一台机器转成主机模式。 Invalid 确认备机是否已切换为主机,如果是,则删除备机(原主机)内存数据库,使用网络方式进行恢复,如恢复失败,请根据相关日志进行分析问题,仍不能解决请联系华为工程师。 Primary to Secondary 通常是正在进行双机切换,原主机正在给备机同步逻辑日志。通过mdstatus -route判断PendingLog是否在变化,如果有变化则等待自动切换完成。如果长时间(三分钟以上)没有变化,建议查看错误日志信息,如果仍不能解决请联系华为工程师。 Secondary to Primary 确认该机器为主机,执行procs.sh命令,确认mdb_rcv0进程是否正常运行。如果是,通过mdstatus -route判断PendingLog是否在变化,如果有变化则等待自动切换完
相关推荐: