在fragment by range中经常的操作有如下:
1、ALTER FRAGMENT ON TABLE tt modify partition sys_p371 to partition sys_p371 in ttdbs3;
2、alter fragment on table tt detach partition sys_p371 tt371;
3、alter fragment on table tt drop partition sys_p370;
这个时候经常会报不能加独占锁而失败的情况,这是为什么呢?
研究发现:
如果tt表上不仅有attach索引,还有detach index。
对于attach index,drop partition或detach partition都是发生drop index的操作;
但是对于detach index,需要发生整个index rebuild的操作,这个时候如果有select操作给该表加了共享锁,则drop partition或detach partition的独占锁就加不上去,会导致报错退出的。
验证方法:oncheck -pt dbname:tabname
与诸位共享。。。。。。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论