ORACLE 我的表空间指定了两个存放文件:SYSAUX01.DBF,SYSAUX03.DBF 20C

我现在将我数据库的表全部删除了,但发现这两个文件占用我的电脑空间依然是每个32G,一共64G,我怎么能够清理一下,还是直接将这两个表文件放入回收站删除?

5个回答

ORACLE 数据文件并不会自动删除,只是从数据库里面移除了。
windows下,选择文件,按住shift键+delete,然后确定。就可以了。这两个文件用不到了。

干干净净删除表空间
alter tablespace 表空间名称 drop datafile 'DBF文件的全路径'; --如下
alter tablespace myts drop datafile 'D:\oracle\11gR2_32\dataFile\SYSAUX01.DBF';

另外,可采用truncate 删除表,同时释放空间,操作非常简单有效,命名如下:
truncate table tablename DROP STORAGE;

只是删除了数据库,并没有删除数据。如果还需要使用,就不要删除,备份起来。如果不使用了才可以彻底删除 按住shift键+delete 。希望帮到你

如果是测试环境,可以先查查当前数据文件中数据量大小,试试数据文件收缩:
以下语句为:
如果没有分配的空间不足100M,则不考虑收缩;
否则收缩目标:当前数据文件大小 - (没分配空间- 100M)×0.8

select /*+ ordered use_hash(a,c) */
'alter database datafile ''' || a.file_name || ''' resize ' ||
round(a.filesize - (a.filesize - c.hwmsize - 100) * 0.8) || 'M;',
a.filesize,
c.hwmsize
from (select file_id, file_name, round(bytes / 1024 / 1024) filesize
from dba_data_files) a,
(select file_id, round(max(block_id) * 8 / 1024) hwmsize
from dba_extents
group by file_id) c
where a.file_id = c.file_id
and a.filesize - c.hwmsize > 100;

该语句针对当前库中所有数据文件,查询结果第一列为数据文件收缩语句,第二列为当前数据文件大小,第三列为收缩后文件大小
自己使用可以选择性操作
如果收缩系统表空间数据文件,可能需要重启数据库
数据库数据文件大小在创建后不管数据库中做删除、清理操作,都不会影响数据文件大小,处理方式只有两种:
1. reszie数据文件大小
2. 备份数据,删除原数据文件,重建个小size的数据文件,恢复数据

谢谢,希望对你有用

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐