drop表后是否会释放表空间?

老生常谈又比较实用的一个问题,不太确定,想跟大家讨论一下。
db2版本:9.7

下面说明的表都是大表(至少数据超过1G)
有时删除一个表后,查看表空间使用率,有明显的下降。
有时删除一个表后,查看表空间使用率,没有任何变化,过了一天也没有变化。。


所以,想咨询下,drop表后是不是一定会释放表空间,跟高水位又有什么关系?怎么查看drop后的表是否释放了空间?

谢谢,在线等,如果还需要数据库其它信息,可以直接提供。
参与19

13同行回答

gggeeqggggeeqg系统运维工程师中国银行
回复 3# christian    drop表后再create原表,再进行reorg吗?还是drop表后直接reorg table 表名?显示全部
回复 3# christian


   drop表后再create原表,再进行reorg吗?还是drop表后直接reorg table 表名?收起
银行 · 2015-09-11
浏览6403
Scott_jinScott_jin数据库管理员环境
回复 1# gggeeqg     Drop表后,表空间的使用率是会降低的, 但是高水位是不会降的。 需要通过"alter tablespace... reduce max"或是”alter tablespace .. low high water mark "   看表空间使用率是否释放,可以使用db2pd -d db2name -tab 看到。...显示全部
回复 1# gggeeqg


    Drop表后,表空间的使用率是会降低的, 但是高水位是不会降的。 需要通过"alter tablespace... reduce max"或是”alter tablespace .. low high water mark "
  看表空间使用率是否释放,可以使用db2pd -d db2name -tab 看到。收起
互联网服务 · 2015-09-12
浏览6168
叶子89叶子89系统运维工程师xx
删除表后,断开连接,就自动释放了显示全部

删除表后,断开连接,就自动释放了

收起
互联网服务 · 2017-03-08
浏览5737
yuanxiaoyangyuanxiaoyang系统工程师st
建议drop表之前,先做truncate操作,然后再drop,这样空间肯定会释放掉。显示全部
建议drop表之前,先做truncate操作,然后再drop,这样空间肯定会释放掉。收起
系统集成 · 2015-10-09
浏览5803
darling_4444darling_4444其它IBM
试试用db2dart看看删掉的表所在的表空间的数据信息。显示全部
试试用db2dart看看删掉的表所在的表空间的数据信息。收起
IT咨询服务 · 2015-09-29
浏览5825
wangyaxwangyax软件开发工程师金融机构
不同的表size不一样的,大的表drop掉释放的空间多,小的表drop掉释放的空间少,水位线高不高跟表空间的剩余容量没有直接关系。水位线高只能说明可回收的空间不多,可用的空间仍然可能会有很多的。...显示全部
不同的表size不一样的,大的表drop掉释放的空间多,小的表drop掉释放的空间少,水位线高不高跟表空间的剩余容量没有直接关系。水位线高只能说明可回收的空间不多,可用的空间仍然可能会有很多的。收起
互联网服务 · 2015-09-17
浏览6196
zhendazhenda数据库管理员昆仑银行
db2 list tablespaces show detaildb2 terminate执行完这个命令,在看看你问的问题哦。显示全部
db2 list tablespaces show detail
db2 terminate
执行完这个命令,在看看你问的问题哦。收起
软件开发 · 2015-09-17
浏览6162
christianchristian数据库管理员ICSS
回复 5# gggeeqg      如果表都drop掉了,也就无法对原表进行重组和更新了。     如果只是对表进行delete的删除操作,那么最好删除后跟进的做一下重组和更新。显示全部
回复 5# gggeeqg


     如果表都drop掉了,也就无法对原表进行重组和更新了。
     如果只是对表进行delete的删除操作,那么最好删除后跟进的做一下重组和更新。收起
软件开发 · 2015-09-11
浏览6212
cui1101cui1101测试工程师亚信
如果不能立即释放表空间的话:db2 set client connect_dbpartitionnum 数据库节点db2 connect to ${DBNAME}db2 list tablespaces show detaildb2 terminatedone这样释放一下应该就能出来了显示全部
如果不能立即释放表空间的话:
db2 set client connect_dbpartitionnum 数据库节点
db2 connect to ${DBNAME}
db2 list tablespaces show detail
db2 terminate
done
这样释放一下应该就能出来了收起
IT其它 · 2015-09-11
浏览6186
db2bird1db2bird1数据库管理员enmo
扯蛋。reorg是针对表的,表都已经drop了,你reorg是搞什么鬼呢?教你个方法,一定立即释放空间:db2 import from /dev/null of del replace into tabschema.tabname;db2 drop table tabschema.tabname;显示全部
扯蛋。reorg是针对表的,表都已经drop了,你reorg是搞什么鬼呢?
教你个方法,一定立即释放空间:
db2 import from /dev/null of del replace into tabschema.tabname;
db2 drop table tabschema.tabname;收起
系统集成 · 2015-09-11
浏览6348

提问者

gggeeqg
系统运维工程师中国银行
擅长领域: 存储安全软件定义存储

相关问题

问题状态

  • 发布时间:2015-09-11
  • 关注会员:3 人
  • 问题浏览:19053
  • 最近回答:2017-03-08
  • X社区推广