异常的Oracle ALTER TABLE关键字CHECK



我最近收到了一个不寻常的Oracle语法:

ALTER TABLE tableName SHRINK SPACE CHECK;

这种语法的奇怪之处在于CHECK关键字。查看ALTER TABLE的Oracle语法,我找不到任何关于该关键字含义的参考,在我对不符合Oracle官方文档的语法进行更改之前,我很想有一些关于这方面的参考文档。

提到的博客文章只是从MOS注释1132163.1 中抓取的

SQL> ALTER TABLE test SHRINK SPACE CHECK;
alter table test shrink space check
*
ERROR at line 1:
ORA-10636: ROW MOVEMENT is not enabled
-- the row movement is enabled in order to fix the error
SQL> ALTER TABLE test ENABLE ROW MOVEMENT;
Table altered.
-- running again the SHRINK SPACE CHECK against the table it says that the segment can be shrunk:
SQL> ALTER TABLE test SHRINK SPACE CHECK;
alter table test shrink space check
*
ERROR at line 1:
ORA-10655: Segment can be shrunk

但省略了一个非常重要的点

"注意:在某些情况下,CHECK选项可能导致死锁";

最新更新