使用ora-30036在oracle中收缩空间失败

时间:2016-05-16 10:31:56

标签: oracle11g

我有一个名为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

1 个答案:

答案 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