ORACLE 中删除了表怎么硬盘剩余空间没变?

发布网友 发布时间:2022-04-23 15:26

我来回答

3个回答

热心网友 时间:2022-04-11 08:20

1、tables是存储某个tablespace(表空间)里面的,tablespaces可以包含多个dbf文件,你在硬盘里面可以查到dbf文件。
表空间会随着包含的表内容增加而增大,但是不会随着table删除而减小。
如果要增加剩余空间,需要先drop table ,再drop tablespace。

2、select name from v$tablespace; 可以看oracle包含哪些tablespace
select TABLESPACE_NAME, file_name from dba_data_files;可以查看tablespace对应的dbf文件。
select SEGMENT_NAME from dba_segments where TABLESPACE_NAME='TABLESPACE_NAME' group by SEGMENT_NAME;可以查某个表空间包含哪些表。
3、drop tables
drop table test purge;删除table而不放入回收站。
如果table很多,可以执行select 'drop table '||tname||' purge;' from tab order by tname;
4、drop tablespace
DROP TABLESPACE TEST01 INCLUDING CONTENTS AND DATAFILES;

热心网友 时间:2022-04-11 09:38

你删除表只能释放表空间里的空间,无法释放数据库的体积
就像你买了一箱可乐,你都喝完了,可乐瓶子还是那么大,还要占为止
你如想要释放空间,可以缩小数据文件的大小:
alter database datafile XXXXXXXX resize XXXXm
这样就可以释放空间,就像你喝完可乐了再把它踩扁,这样他就不占地方了

热心网友 时间:2022-04-11 11:12

yPB
58

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com