码迷,mamicode.com
首页 > 其他好文 > 详细

informix删除chunk时的偏移量(offsize)的计算

时间:2015-04-29 11:56:39      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:informix 11.5 删除chunk onspaces offsize

最近在使用onspaces -d删除chunk时遇到点小问题。

在一台主机执行onstat -d后显示的数据库存储空间如下

Dbspaces

address    number   flags    fchunk   nchunks  pgsize   flags    owner    name

700000030211028  1   0x60001    1        1        4096     N  B     informix rootdbs

70000006016a330  2   0x60001    2        1        4096     N  B     informix logdbs

70000006016ad80  3   0x60001    3        1        4096     N  B     informix phydbs

70000006016b850  4   0x42001    4        1        4096     N TB     informix tmpdbs

70000006016c3f0  5   0x60001    5        13       4096     N  B     informix datadbs

70000006016ce00  6   0x60001    6        1        4096     N  B     informix idxdbs

 6 active, 2047 maximum

Chunks

address     chunk/dbs     offset     size       free  bpages flags pathname

7000000302111c0  1      1     1    64000      43073      PO-B- /informix/dbs/rootdbs

70000006016a4c8  2      2     1    512000     511947      PO-B- /informix/dbs/logdbs

70000006016b028  3      3     1    256000     255947      PO-B- /informix/dbs/phydbs

70000006016b9e8  4      4     1    256000     255797      PO-B- /informix/dbs/tmpdbs

70000006016c588  5      5     1    1024000    844994      PO-B- /informix/dbs/datadbs

700000060164028  6      6     1    128000     125727      PO-B- /informix/dbs/idxdbs

700000060164850  7      5     1    128000     127997      PO-B- /informix/dbs/datadbs1601

700000060164a40  8      5     1    128000     127997      PO-B- /informix/dbs/datadbs1602

现在我想要删除datadbs空间上挂载的"datadbs1601 "和"datadbs1602 "两个chunk,执行命令

#:/informix/dbs >onspaces -d datadbs -p /informix/dbs/datadbs1601 -o 1

WARNING:  Dropping a chunk.

Do you really want to continue? (y/n)y

Chunk not dropped.

ISAM error:  No such chunk


很疑惑,明明chunk是有的,为什么报chunk不存在,通过参考http://blog.csdn.net/sunxp/article/details/5823972 这篇博客中的最后一段发现,应该是-o 参数后面带的偏移量写错了(但文章中并没有写明如何计算这个偏移量),onstat -d之后显示的这个chunk的offset是1,为什么使用1作为偏移量却不行呢。想了想,"-o"这个参数的单位是K,而onstat -d中显示的chunk的size和free的单位则是页,那会不会offset显示的也是以页为单位呢。如果是这样,那实际的offset应该是1*4K(datadbs的pgsize)=4K,那onspaces命令中应该是"-o 4"

于是尝试了一下,果然成功了

#:/informix/dbs >onspaces -d datadbs -p /informix/dbs/datadbs1601 -o 4    

WARNING:  Dropping a chunk.

Do you really want to continue? (y/n)y

Chunk successfully dropped.

** WARNING **  A level 0 archive for DBspace datadbs will need to be done

before ‘/informix/dbs/datadbs1601‘ can be reused (see Dynamic Server Administrator‘s manual).


本文出自 “爱成长,爱生活” 博客,谢绝转载!

informix删除chunk时的偏移量(offsize)的计算

标签:informix 11.5 删除chunk onspaces offsize

原文地址:http://yiqianghua.blog.51cto.com/2043853/1640223

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!