ClearCase:如何修复存在oplog损坏的KENIA_ICWP_ITEC副本?
问题:ClearCase副本同步核心转储,远程oplog损坏修复方案
我有一个名为KENIA_ICWP_ITEC的副本,尝试从INDRA_ICWP_ITEC副本应用同步包时出现核心转储:
# multitool syncreplica -import sync_INDRA_ICWP_ITEC_2023-06-02T15.00.04+02.00_28369 Segmentation fault (core dumped)
以下是该副本当前的oplog信息:
# multitool lsepoch replica:KENIA_ICWP_ITEC@/itec/icwp For VOB replica "/itec/icwp": Oplog IDs for row "KENIA_ICWP_ITEC" (@ icwpkenia): oid:e0f2c369.06e211e6.86f4.98:4b:e1:0c:9c:e6=1795234 (ASTURIAS_ICWP_ITEC) oid:9ed5bd47.4d8911e5.8730.98:4b:e1:0c:9c:e6=142972 (DFS_ICWP_ITEC) oid:c8f29621.e8a611dd.8b1e.00:1c:c4:93:d2:28=59140877 (INDRA_ICWP_ITEC) oid:87730776.630911e7.9303.98:4b:e1:0c:9c:e6=0 (ITECPROD_ITEC_ICWP) oid:908bc8fe.f21311e6.920c.98:4b:e1:0c:9c:e6=0 (ITOOLS4_ICWP) oid:d35003bc.1cc211e1.9311.98:4b:e1:0c:9c:e6=970073 (JLG_ICWP_ITEC) oid:0daafabd.dc9211e5.9fe7.98:4b:e1:0c:9c:e6=14669852 (KENIA_ICWP_ITEC) oid:16fba05b.802511e2.8978.98:4b:e1:0c:9c:e6=212378 (OBSOLETE_ASTURIAS_ICWP_ITEC.deleted) oid:c9d7f0f2.fc6611e3.8d73.98:4b:e1:0c:9c:e6=0 (UK_ICWP_ITEC)
检测发现该副本数据库存在部分损坏的oplog条目:
# multitool dumpoplog -long -name -invob /itec/icwp -vreplica INDRA_ICWP_ITEC 136082394 136082394: op= uncheckout replica_oid= c8f29621.e8a611dd.8b1e.00:1c:c4:93:d2:28 (INDRA_ICWP_ITEC) oplog_id= 59140863 op_time= 2023-06-02T12:07:53Z create_time= 2023-06-02T12:53:52Z data size= 20 data= 0x8d509c0 ------------ ckout_ver_oid= 1a1a16fc.013f11ee.92ea.98:4b:e1:0c:9c:e6 (*object not found*) # multitool dumpoplog -long -name -invob /itec/icwp -vreplica INDRA_ICWP_ITEC 136082395 multitool: Error: Operation "xdr_vob_oplog_data_t (decode)" failed: error detected by ClearCase subsystem. # multitool dumpoplog -long -name -invob /itec/icwp -vreplica INDRA_ICWP_ITEC 136082396 Segmentation fault (core dumped) # multitool dumpoplog -long -name -invob /itec/icwp -vreplica INDRA_ICWP_ITEC 136082397 136082397: op= uncheckout replica_oid= c8f29621.e8a611dd.8b1e.00:1c:c4:93:d2:28 (INDRA_ICWP_ITEC) oplog_id= 59140866 op_time= 2023-06-02T12:07:55Z create_time= 2023-06-02T12:53:54Z data size= 20 data= 0x820c9c0 ------------ ckout_ver_oid= 1b338011.013f11ee.92f9.98:4b:e1:0c:9c:e6 (*object not found*)
目前确认仅KENIA_ICWP_ITEC副本中的远程oplog存在损坏,主副本INDRA_ICWP_ITEC的oplog显示正常。请问是否有无需替换为健康副本即可修复该副本的方法?
修复方案
1. 跳过损坏条目同步
直接在导入同步包时,用-skip参数跳过已确认损坏的oplog ID:
# 跳过连续范围的损坏条目 multitool syncreplica -import -skip 136082395-136082396 sync_INDRA_ICWP_ITEC_2023-06-02T15.00.04+02.00_28369 # 或单独跳过每个损坏条目 multitool syncreplica -import -skip 136082395 -skip 136082396 sync_INDRA_ICWP_ITEC_2023-06-02T15.00.04+02.00_28369
2. 删除损坏的oplog条目
- 先备份VOB数据,防止操作失误:
cleartool backup -vob /itec/icwp
- 删除损坏的oplog条目:
multitool rmoplog -invob /itec/icwp -vreplica INDRA_ICWP_ITEC 136082395 136082396
- 重新导入同步包:
multitool syncreplica -import sync_INDRA_ICWP_ITEC_2023-06-02T15.00.04+02.00_28369
3. 重新生成同步包
如果上述方法无效,在主副本INDRA_ICWP_ITEC上生成排除损坏条目的新同步包:
# 从损坏条目之后的oplog ID开始生成同步包 multitool syncreplica -export -fship -from INDRA_ICWP_ITEC -to KENIA_ICWP_ITEC -min_oplog 59140867
将新生成的同步包导入KENIA_ICWP_ITEC副本即可。
注意事项
- 所有操作前必须备份VOB数据,避免数据丢失;
- 跳过或删除损坏条目后,需验证副本数据与主副本的一致性,若涉及关键操作可能存在数据差异;
- 若以上方法均无效,再考虑替换健康副本的方案。
内容的提问来源于stack exchange,提问作者E.canora
相关产品推荐
相关产品推荐

