我希望删除现有的表空间,并将释放的空间添加到oracle中的新表空间中。
我正在尝试在oracle上删除一个现有的表空间,然后使用释放的空间作为一个新的表空间。我们能直接将这个空闲空间分配给新的表空间吗?
发布于 2021-09-15 14:06:40
答案将取决于如何定义被扩大的表空间。至少您需要删除第一个表空间来释放存储空间(语法为请看这里):
drop tablespace old_tablespace [including contents and datafiles];
如果标记为增长的表空间中的数据文件是用AUTOEXTEND
定义的,并且仍然有增长的空间(最大大小),那么您就不需要做更多的事情了。这些文件将根据需要自动扩展到已释放的空间。如果它们已经达到了允许的最大大小(大多数情况下为32 to ),那么您将需要添加一个新文件。
ALTER TABLESPACE tbs_03 ADD DATAFILE [... datafile options ...];
如果标记为增长的表空间中的数据文件没有用AUTOEXTEND
定义,那么您必须添加一个新的数据文件,手动增加它们的大小,或者酌情启用自动扩展。
ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' RESIZE 100M;
或
ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/users03.dbf' AUTOEXTEND ON;
https://dba.stackexchange.com/questions/299635
复制相似问题