Oracle收缩空间问题-更改表<;表>;由于基于函数的索引,收缩空间返回错误ORA-10631。是否存在任何解决方法?

Oracle收缩空间问题-更改表<;表>;由于基于函数的索引,收缩空间返回错误ORA-10631。是否存在任何解决方法?,oracle,oracle10g,Oracle,Oracle10g,我已经从表TAB1中删除了一些数据。 为了得到我表演的场地 alter table TAB1启用行移动;>一切顺利 alter table TAB1收缩空间;>ORA-10631:不应为此对象指定SHRINK子句 这是因为表中有基于函数的索引。我们不能用基于函数的索引收缩表。此问题存在任何解决方法。似乎不太可能,除了删除FBI然后重新创建它。删除索引是最有可能的选择: 删除索引 缩小桌子空间 创建相同的索引 你试过移动桌子吗?改变table T table space X。当涉及FBI时,我从未

我已经从表TAB1中删除了一些数据。 为了得到我表演的场地

alter table TAB1启用行移动;>一切顺利 alter table TAB1收缩空间;>ORA-10631:不应为此对象指定SHRINK子句


这是因为表中有基于函数的索引。我们不能用基于函数的索引收缩表。此问题存在任何解决方法。

似乎不太可能,除了删除FBI然后重新创建它。

删除索引是最有可能的选择:

  • 删除索引
  • 缩小桌子空间
  • 创建相同的索引

  • 你试过移动桌子吗?改变table T table space X。当涉及FBI时,我从未尝试过这样做。根据Oracle 11g:具有基于函数的索引、域索引或位图连接索引的表不支持段收缩。