INFX 12.10主备库索引重建同步及离线操作疑问
Informix 12.10 HDR环境索引修复同步问题解答
一、双端dridxauto=0时主库索引修复的同步方案
当前主备均关闭index page logging且dridxauto=0,主库执行删除重建索引/主键操作后,因索引页日志未开启,HDR不会自动同步索引变更,可通过以下方案处理:
方案a:备库手动触发索引同步
主库完成索引删除重建后,在备库逐个执行:
onmode -d index {db}:{table}#{index_name}
该命令会让备库从主库拉取指定索引的元数据并重建,确保备库索引与主库一致。需注意:涉及多个索引/主键时,需依次执行对应命令。
方案b:临时开启自动索引同步
需在主备双端执行:
onmode -d idxauto on
- 开启后,主库的索引删除、重建操作会生成同步所需的元数据日志,备库会自动同步并重建对应索引
- 所有索引修复完成后,记得将主备的
dridxauto改回0,恢复原有配置 - 仅开启备库无效,主库需开启该参数才会生成索引同步所需的日志内容
二、备库离线时主库执行修复的影响与注意事项
核心影响:
- 备库离线期间,主库的索引修复操作无法通过HDR日志同步到备库
- 备库上线后,会同步主库的常规事务日志,但因
index page logging关闭,索引变更的元数据不在常规日志中,备库无法自动重建索引,会导致主备索引不一致
关键注意事项:
- 若备库离线时主库已完成修复,备库上线后需手动执行方案a的
onmode -d index命令,同步所有修改过的索引 - 若备库离线时间过长,主库的逻辑日志可能已被清理,备库上线后可能需要重新初始化HDR(通过ontape/onbar备份恢复),再手动同步索引
- 若备库离线时主库已完成修复,备库上线后需手动执行方案a的
是否需等待备库上线再操作?
不是强制要求,但等待备库上线后再执行修复,可避免后续手动同步的繁琐操作,降低主备索引不一致的风险;若必须立即修复,需完整记录所有修改的索引/主键信息,待备库上线后逐一同步。
内容的提问来源于stack exchange,提问作者carluccijon
相关产品推荐
相关产品推荐

