我尝试使用命令从表空间中删除数据
删除用户 xyz 级联;
我发现用户被删除但我的表空间大小并没有减少。我的表空间中的数据是否已被删除?如果是,我该如何确认?为什么没有释放空间?
我尝试使用命令从表空间中删除数据
删除用户 xyz 级联;
我发现用户被删除但我的表空间大小并没有减少。我的表空间中的数据是否已被删除?如果是,我该如何确认?为什么没有释放空间?
Oracle does not automatically shrink datafiles, which is what a tablespace is made of. Oracle simply marked the space which had been used by user XYZ's segments (tables, indexes, and the like) as free for some other user's segments to use.
SELECT * FROM DBA_OBJECTS WHERE OWNER = 'XYZ';
should demonstrate that user XYZ no longer owns any physical (tables, indexes, clusters) or logical (sequences, procedures, packages, triggers, types) objects in the database.
在某些情况下,您可以使用以下命令收缩数据文件:
ALTER DATABASE DATAFILE 'filename2' RESIZE new_size;
如果文件末尾没有数据,可以减小数据文件大小。有关详细信息,请参阅“管理表空间”。