ITPub博客

IQ 迁移object导致的血案 - sp_mpxprocesstlvlog exception, SQLSTATE=QSA44 - 1

原创 数据挖掘 作者:tolywang 时间:2017-09-07 20:29:15 0 删除 编辑
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."  
请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5604
  • 访问量
    12990893