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

我在ORACLE10g数据库中通过PL/SQL直接删除了将近15个G的表,但在操作系统中显示硬盘容量还是没变,怎么才能增加剩余空间呢?... 我在ORACLE 10g数据库中通过PL/SQL直接删除了将近15个G的表,但在操作系统中显示硬盘容量还是没变,怎么才能增加剩余空间呢? 展开
 我来答
wallcopper
推荐于2017-12-16 · TA获得超过3447个赞
知道大有可为答主
回答量:1986
采纳率:86%
帮助的人:1808万
展开全部
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;
百度网友aa1911c
2011-12-28 · TA获得超过1362个赞
知道大有可为答主
回答量:4951
采纳率:0%
帮助的人:9305万
展开全部
你删除表只能释放表空间里的空间,无法释放数据库的体积
就像你买了一箱可乐,你都喝完了,可乐瓶子还是那么大,还要占为止
你如想要释放空间,可以缩小数据文件的大小:
alter database datafile XXXXXXXX resize XXXXm
这样就可以释放空间,就像你喝完可乐了再把它踩扁,这样他就不占地方了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-12-28
展开全部
yPB
58
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式