关于row movement的一点应用

今天对一张创建了分区表的表进行update操作,正好需要修改的是创建分区的那一列,由于是要修改在分区表范围内的数据,所以无法修改。

然后搜了一下,需要修改row movement这个属性:alter table eq_excpdetail enable row movement;将该属性打开,然后就可以对分区列进行修改。关闭是alter table eq_excpdetail disable row movement; 


将row movement设置为enable,有可能发生行的物理移动,行的rowid会变化,某一行更新时,如果更新的是分区列,并且更新后的列值不属于原来的这个分区,如果开启了这个选项,就会把这行从这个分区中delete掉,并加到更新后所属的分区。相当于一个隐式的delete+insert,但是不会触发insert/delete触发器。如果没有开启这个选项,就会在更新时报错。


当然row movement不只用于分区还用于闪回。



另外转两篇对 row movement的讲解:点击打开链接

posted @ 2014-08-12 00:57  明月镇魂  阅读(467)  评论(0编辑  收藏  举报