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

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

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

不等同。简单的说,数据库是一个整体,一个数据库下可保护多个用户、多个表、多个存储过程、多个job、多个视图等。而表空间可以认为是数据实体文件的分类,比如有用户表空间、系统表空间、索引表空间等,一个表空间可以保护多个实体文件。可以设置表空间的存储大小,但实际使用多少由已存在的数据来决定。比如设置用户表空间为10G,则存储设备就会分配10G给它。该表空间已经存在资料2G,那么还可以写8G数据进去,但此过程中该表空间只占用10G,不会增加,除非用完10G后不够,则需要再增加。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9825109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存