Truncate 不释放表空间
来源:互联网 发布:arma3服务器 linux 编辑:程序博客网 时间:2024/05/16 14:51
问题起因:
同事从生产导出一个dmp,给新系统测试用。由于测试环境的表空间比较紧张。先用delete清空掉了部分表的数据,
发现表空间没有释放。接着又执行了truncate,但奇怪的是truncdate后这些表所占的表空间并没有释放。
最后发现是INITIAL_EXTENT在作怪。
下面模拟一下问题的现象,及解决过程。
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as testtest
--1.T_IMP_TRUNCATE表中没有数据。
SQL> select count(1) from T_IMP_TRUNCATE;
COUNT(1)
----------
0
--2.但T_IMP_TRUNCATE占用了104MB的空间
SQL> SELECT SUM(T.BYTES) / 1024 / 1024 MB
2 FROM USER_SEGMENTS T
3 WHERE T.SEGMENT_NAME = 'T_IMP_TRUNCATE';
MB
----------
104
--3.truncate掉表T_IMP_TRUNCATE
SQL> truncate table T_IMP_TRUNCATE;
Table truncated
--4.分析表T_IMP_TRUNCATE
SQL> ANALYZE TABLE T_IMP_TRUNCATE COMPUTE STATISTICS;
Table analyzed
--5.发现表空间依然没有释放
SQL> SELECT SUM(T.BYTES) / 1024 / 1024 MB
2 FROM USER_SEGMENTS T
3 WHERE T.SEGMENT_NAME = 'T_IMP_TRUNCATE';
MB
----------
104
--6.检查T_IMP_TRUNCATE表的INITIAL_EXTENT参数将近100MB
SQL> SELECT T.TABLE_NAME, T.INITIAL_EXTENT/1024/1024 mb
2 FROM USER_TABLES T
3 WHERE T.TABLE_NAME = 'T_IMP_TRUNCATE'
4 ;
TABLE_NAME MB
------------------------------ ----------
T_IMP_TRUNCATE 99.0
--7.决定对T_IMP_TRUNCATE表进行收缩shrink
--a.启用行迁移
SQL> alter table T_IMP_TRUNCATE enable row movement;
--b.shrink表T_IMP_TRUNCATE
SQL> alter TABLE T_IMP_TRUNCATE shrink SPACE;
--c.关闭行迁移
SQL> alter table T_IMP_TRUNCATE DISABLE row movement;
Table altered
--8.shrink后T_IMP_TRUNCATE表空间已释放
SQL> SELECT SUM(T.BYTES) / 1024 / 1024 MB
2 FROM USER_SEGMENTS T
3 WHERE T.SEGMENT_NAME = 'T_IMP_TRUNCATE';
MB
----------
0.1875
SQL>
- Truncate 不释放表空间
- truncate表后,不释放表空间
- truncate 空间不释放问题
- truncate 空间不释放问题
- Mysql truncate 表以后如何释放空间
- TEMP表空间不释放
- mysql truncate table未释放表空间磁盘空间
- Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化
- drop表中断不释放空间处理
- DELTE和TRUNCATE的区别及释放空间对比
- Oracle截断表后空间不释放处理
- 释放UNDO表空间
- 处理rm 空间不释放的问题
- Oracle表卡、表锁、空间不释放解决方法
- 工作记录:删除文件,空间不释放
- jffs2文件系统删除文件不释放空间
- linux删除空间不释放的解决方法
- centos删除文件空间不释放解决方法
- [技术]谈Web服务器的负载均衡技术
- WebKit插件分析
- 分数和小数的相互转换
- amoeba作为dbproxy在mysql分布式中的应用
- firefox和IE在执行javascript语句时的差异,一下午的血泪教训
- Truncate 不释放表空间
- 浅谈如何学习DSP软件开发
- 阿里云笔试题:正则表达式和有限状态自动机
- drawable(hdpi,ldpi,mdpi) 的区别 (转载)
- windows7上安装matlab出现的error starting desktop问题
- sqlmap.xml 中的 添加,修改,刪除(含批量修改、刪除)(编号:20110616A1820)
- 一段有用的谷歌地图使用代码
- 主题不能添加URL连接的解决办法
- 华章IT图书书讯(2011年第6期)