来源于:http://www.itpub.net/thread-513609-1-1.html

http://bbs.csdn.net/topics/330251089

http://blog.csdn.net/rznice/article/details/6107650

1、首先要得到USERS01.DBF的file_id

SELECT file_name,file_id FROM dba_data_files WHERE file_name like '%USER%';

2、统计这个数据文件有哪些段,各占多少空间,然后再考虑是drop还是truncate等处理操作。

select owner,segment_name,sum(bytes) 
  from dba_extents
where file_id=如上的file_id
group by owner,segment_name
order by 3 desc;

3、找到哪个用的空间多了,处理一下吧。

不论使用delete还是truncate删除数据,ORACLE数据文件都不会自动收缩;
如果要收缩数据文件,delete不能降低HWM,delete后再alter table XXX move;
或者使用truncate后再resize数据文件试试
sql>truncate test1
sql>alter database datafile 'users01.dbf' resize 200m;

可以通过resize datafile来减小数据文件的大小。
首先,要查清楚数据文件的真实使用空间。可以通过查询dba_extents达到这个目的。oatbs表空间使用的数据文件为E:/Oracle/PRODUCT/10.2.0/ORADATA/ORCL/OATBS.DBF

SQL> select file_name,e.file_id, sum(e.bytes)/1024/1024 as MB from dba_extents e join dba_data_files f on e.file_id=f.file_id group by file_name,e.file_id;

FILE_NAME FILE_ID MB
-------------------------------------------------------------------------------- ---------- ----------
E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF 4 3.1875
E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/OATBS.DBF 8 73.375
E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBF 3 253.8125
E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/EXAMPLE01.DBF 5 77.625
E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBF 2 42.8125
E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBF 1 500.625

6 rows selected

可以看出OATBS.DBF实际使用空间只有73MB。resize datafile的时候不可以小过这个大小。

SQL> alter database datafile 8 resize 80m;

Database altered

SQL>

OATBS.DBF 文件由原先的100M减少为现在的80M。

oracle 删除用户及相关表数据,释放磁盘空间的更多相关文章

  1. oracle 删除表、表空间、用户时,如何释放磁盘空间

    truncate table tablename DROP STORAGE; drop 执行drop table xx 语句drop后的表被放在回收站(user_recyclebin)里,而不是直接删 ...

  2. MySQL删除数据后磁盘空间的释放情况【转】

    OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除 ...

  3. MySQL删除数据几种情况以及是否释放磁盘空间【转】

    MySQL删除数据几种情况以及是否释放磁盘空间: 1.drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ; 2.truncate table tabl ...

  4. oracle删除用户及其表空间

    oracle删除用户及其表空间 删除表空间:可以先将其offlinealter tablespace xx offline;将磁盘上的数据文件一同删除drop tablespace xxx inclu ...

  5. (转) Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化

    硬盘空间不足,打算删除数据库中的多余数据,但删除数据后,硬盘硬盘空间不能释放.[delete后用:alter table table_name move    truncate后用:alter tab ...

  6. mysql 正确清理binlog 删除数据后磁盘空间的

    (3条消息)MySQL删除数据后磁盘空间的释放情况 - ZERO - CSDN博客 https://blog.csdn.net/zero__007/article/details/51404091 m ...

  7. 利用lsof命令查找已经删除的文件来释放磁盘空间

    测试环境一台服务器/目录空间使用率达到97%,但是通过du -sh *发现实际空间没用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh *发现共实际使 ...

  8. mongodb 释放磁盘空间

    db.copyDatabase("from","to","127.0.0.1:16161"); 将127.0.0.1上的from库.拷贝到t ...

  9. Mysql InnoDB彻底释放磁盘空间

    Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长. 如果需要彻底释放磁盘空间,则需要先导出数据,然后删除数据文件,最后导入数据. ...

随机推荐

  1. mysql 将列值转变为列的方法(转)

    转自http://www.jb51.net/article/36497.htm -- 创建库CREATE TABLE `rate` ( `uname` VARCHAR (300), `object` ...

  2. 在VMware上安装CentOS-6.5 minimal - 安装VMware Tools

    由于CentOS-6.5 minimal很多工具都默认没有安装,安装VMwareTools需要用到Perl,所以老伯建议先配置好网络再接着安装. 网络配置方法可以参考在VMware上安装CentOS- ...

  3. 报表session与应用session常识普及

    1. 报表session与应用session 报表集成到项目中可能会有一个疑问就是系统应用和报表应用在一个web服务器下,那系统session和报表session是不是一个session呢?如果不是那 ...

  4. 用FineReport做的共建共享填报系统

    一.应用背景 随着信息技术的不断发展,快速开发出适合用户业务需求发展的填报报表是势在必然的,因此在不断的研究和分析下针对这一业务特点制作了此报表系统,以使不同开发商之间共建共享数据进行填报和统计分析的 ...

  5. CF723D. Lakes in Berland[DFS floodfill]

    D. Lakes in Berland time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  6. Maven学习(八)继承和聚合

    *聚合(多模块) 在一个项目中 往往有多个模块组成,例如有项目demo下面有a, b两个模块 为了能使用一条命令就能构建demo-a, demo-b两个模块, 需要创建一个额外的聚合模块, 然后通过该 ...

  7. 项目-基于视频压缩的实时监控系统--tiny6410

    项目-基于视频压缩的实时监控系统--tiny6410 @国嵌linux学习笔记. 1. 构造服务端结构体 server struct server { int epfd; //保存epoll指针 st ...

  8. 转: windows 10使用原生linux bash命令行

    转: https://www.zybuluo.com/pandait/note/337430 windows 10使用原生linux bash命令行 linux bash windows-10 第一时 ...

  9. 关于webpack.optimize.CommonsChunkPlugin的使用二

    Note:当有多个入口节点的时候,只有所有入口节点都引入了同一个模块的时候,webpack.optimize.CommonsChunkPlugin才会将那个模块提取出来,如果其中一个入口节点没有引入该 ...

  10. 深入理解Java之线程池

    原作者:海子 出处:http://www.cnblogs.com/dolphin0520/ 本文归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...