重用 tablespace 文件中的现有 space(ORA-01658:无法为 tablespace 用户中的段创建初始范围)

Reuse existing space in tablespace files (ORA-01658: unable to create INITIAL extent for segment in tablespace USERS)

我最近运行进入以下Oracle错误

ORA-01658: unable to create INITIAL extent for segment in tablespace USERS 

所以我用另一个 5 GB 的文件扩展了 USERS tablespace。

不幸的是,一段时间后错误又回来了,我可以看到新创建的文件已经满了。 USERS tablespace 已经超过 30 GByte。

如何重新使用一些现有的space,因为我已经放弃了一些用户,这些应该是免费的?

(将评论移至答案)

如果删除用户,进而删除所有关联对象,Oracle 将能够自动使用已释放的 space。

如果您试图通过删除行来释放 space,情况就会不同。在这种情况下,您将不得不缩小 table 使用的 space,以便您可以在其他地方重用 space。但这不是你的情况。