我有一个名为OBFEED_STMT_DTL的表,它有14GB的数据。现在我使用delete sql删除了该表中大约50%的数据,因此我希望它的大小变为7GB。数据已按预期删除,但表的大小未更改。所以我想在thoese表上运行shrinkspace。我使用下面的sqls来做到这一点。
alter table OBFEED_STMT_DTL enable row movement;
alter table OBFEED_STMT_DTL shrink space;
alter table OBFEED_STMT_DTL disable row movement;
花了一个多小时,最后我得到了以下错误消息:
alter table OBFEED_STMT_DTL shrink space
*
ERROR at line 1:
ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
你能帮我解决一下这个问题吗?
谢谢, Venkat
答案 0 :(得分:-1)
如果您收到此错误,可能就是:
(1)您的撤消表空间设置为自动扩展
和
(2)它所在的文件系统已满。
你可以在这里看到我的意思:
http://international-dba.blogspot.co.uk/2012/09/ora-30036.html
修改强>:
“在甲骨文中回收空间”的方法
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:54178027703899