informix数据库drop表后不释放空间
操作系统为hp/ux数据库系统为informix 9
使用的磁盘阵列。
存放数据的磁盘空间快满了
打算drop些表释放空间;
但发现drop表后,onstat -d 查询,磁盘物理空间并没有得到释放
请坛中高手赐教~~,不胜感激
[ 本帖最后由 qqw7 于 2008-7-10 19:25 编辑 ] drop应该会释放空间的,是不是你drop的表数据量太小的缘故。 谢谢楼上的回答。
删除的表都是占用空间较大的表。
但现在奇怪的是drop表后,在systables中查不到该表了,
但在systabnames中还可以查的到。
并且用systabnames关联sysptnext可以查到该表还占有
数据库空间。
到底是怎么回事呢,请教各位。 做次update statistics 再看看~~ 已经执行过update statistics了,但是空间还是没有回收。
查询已经被删的表信息时,会提示
unable to resolve object type for: tablenamea
Error: ambiguous column(owner).
的错误。
不知道这种问题是informix本身出的问题还是其他,望指教 原帖由 czw1413_cn 于 2008-7-14 13:43 发表 http://bbs.chinaunix.net/images/common/back.gif
首先找到比较大的表,用oncheck -pe可以看到每个表占用空间的情况
找到最大就先处理就可以了
找到最大的表之后,用alter table colname old数据类型 new数据类型
然后再改回到原来的数据类型
就可以看到 ...
感谢您的回复,有问题想请教您一下。
1.如果一个表被drop掉后,还可以改变其字段数据类型吗?
2.以前改变表字段的数据类型都是 alter table 'tablename'modify 'colname' 新数据类型
但在dbaccess中进行这个操作时,提示表不存在。
[ 本帖最后由 qqw7 于 2008-7-14 18:24 编辑 ] 你看一下sysextents中的数据跟,oncheck -pe <dbsname> 中的对比。。:em17: :em17: 原帖由 liaosnet 于 2008-7-14 18:31 发表 http://bbs.chinaunix.net/images/common/back.gif
你看一下sysextents中的数据跟,oncheck -pe中的对比。。:em17: :em17:
我刚才对比了一下,两边的数据是一样的。都包含有已经被drop掉的表 原帖由 qqw7 于 2008-7-14 19:11 发表 http://bbs.chinaunix.net/images/common/back.gif
我刚才对比了一下,两边的数据是一样的。都包含有已经被drop掉的表
如果某一边存在还说得过去,两边都存在。。。。这似乎问题就难于解释了。。
毕竟oncheck -pe是直接从磁盘上读取的数据,这个显示有表存大,那chunk上的数据还是存在的,自然是没有释放。。
是否是在drop表时出现了错误??导致表没有删除成功?
页:
[1]
2