[20141225]ORA-10631 SHRINK clause should not be specified for this object.txt
--昨天写了1个job,主要是定时shrink一张表,早上检查发现执行不正确。
--提示:
*** 2014-12-25 08:41:14.547
ORA-12012: error on auto execute of job 52
ORA-10631: SHRINK clause should not be specified for this object
ORA-06512: at "XXX.YYY_SHRINK", line 4
ORA-06512: at line 1
--我手工执行这个也一样:
ALTER TABLE YYY SHRINK SPACE CASCADE;
--ENABLE ROW MOVEMENT, 我已经打开。自己感到十分困惑,情急之下google,才发现自己犯了一个低级错误,
--实际上以前也遇到。
--shrink这个操作有一些限制
Shrink operations can be performed only on segments in locally managed tablespaces
with automatic segment space management (ASSM). Within an ASSM tablespace, all
segment types are eligible for online segment shrink except these:
■ IOT mapping tables
■ Tables with rowid based materialized views
■ Tables with function-based indexes
■ SECUREFILE LOBs
■ Compressed tables
--原来表上建有函数索引,无法执行这个操作。好久不做这种操作,都忘记这些限制了,特此做一个记录。
--我们应用存在隐式转换,我建立了一些函数索引,对这样的开发团队我实际上很无奈,我不可能发现一个纠正一个,我都告诉了检查方
--法,就是不做..................
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-1379314/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/267265/viewspace-1379314/