Keywords
“sp_mpxprocesstlvlog exception”, “cannot maintain catalog sync”
因为将1T Size的文件恢复到新的主机,新主机上的raw device每个LUN为1.5T, 导致500G的空间不能被合理使用, 我们采用加入一个 1.5T 的RAW DEVICE, 然后将原来的文件
read only , 然后通过 sp_iqemptyfile 方式转移数据到新的raw device上,最后删除之前的文件。但是删除文件碰到问题,协调节点外的其他节点都down下来。
1. 新建dbspace文件。
alter dbspace msgdw add file msgdw_16399 ‘/data01/iqdm/data/iq_msgdw_11.iq’
2.
设置原异常的dbspace文件为只读
alter dbspace msgdw alter file msgdw_16391 readonly
3.
sp_iqfile msgdw 查看文件是否变成RO , 如果是,立即commit;
然后再跑一次 sp_iqfile msgdw ,如果文件状态还是 RO , 那么确认文件确实是RO .
4.
sp_iqemptyfile会迁移原写入异常的objects到可读写的dbspace文件上,然后清空。
sp_iqemptyfile msgdw_16391
5. 查看设置为readonly的文件是否可以drop .
sp_iqfile msgdw
— this should show that OkToDrop column for the problem dbfile msgdw_16391 should change from N to Y
如果状态是Y, 立即COMMIT, 再次查看 sp_iqfile msgdw ,如果确认 OkToDrop=Y , 那么可以下一步。
6. 删除只读的dbspace文件。
alter dbspace msgdw drop file msgdw_16391
7. 删除成功,但是发现协调节点外的其他节点都down了。 查看iqmsg日志,发现如下语句:
sp_mpxprocesstlvlog exception, SQLSTATE=QSA44 [An IO error was encountered while reading a
database page in INVALID_DBSPACE DBSpace.
在SAP Support查询发现很多这种情况:
2491497 – Random secondary node crash with “Secondary server cannot maintain catalog sync” error
2147434 – DROP and CREATE USER causes “Secondary server cannot maintain catalog sync.”
本文转自ITPUB博客tolywang的博客,原文链接:IQ 迁移object导致的血案 – sp_mpxprocesstlvlog exception, SQLSTATE=QSA44 – 1,如需转载请自行联系原博主。