db2,删除表数据,表空间不释放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了db2,删除表数据,表空间不释放相关的知识,希望对你有一定的参考价值。

db2,某个表空间剩余10%,删除该表空间下某个表大概10g左右的数据,但是表空间还是剩余10%,要怎么做才会释放表空间

参考技术A 彻底删除,用drop,把数据库备份数据移走,然后重启 参考技术B DB2 中删除大数据 最好使用load from /dev/null of del repalce into <table> nonrecoverable;
直接使用delete 是不会这么快的释放空间的。
删除表的时候也可以先清空表在drop掉追问

load from /dev/null of del repalce into nonrecoverable;
请问这句的意思是什么?是在删除表数据后操作吗?请指教

追答

这个就是使用一个空值 替换表中原有的数据,换句话说就是清空表。
一般来说 删除表之前用这个语句现在清空下表。

追问

机器是win系列,直接在命令窗口用吗?直接用?请指教

参考技术C db2的表
是存放在表空间里的,删除表就不会增加磁盘空间,而要要修改表空间,表空间又有一个或多个容器。如果你只是想增加磁盘空间,建议你还是想其他办法吧。
参考技术D 你是不是没有提交哦!!被脏数据占了空间!!就像放在了回收站,但并未删除。。。追问

能否说详细一点,什么提交?

追答

我学的Oracle,有时候删除插入数据需要用commit;提交才生效,DB2你在网上搜搜看提交数据的方法嘛!!只是猜想,试试看哈!!

追问

但是我重新查询数据已经查不到了

以上是关于db2,删除表数据,表空间不释放的主要内容,如果未能解决你的问题,请参考以下文章

db2 delete表数据如何恢复,表没有删除

在db2 如何计算表空间和表缓存空间?有会的么?

db2表分区删除

db2 如何计算表空间和表缓存空间?

oraccle中truncate和delete的效率如何

mysql删除表数据,释放空间