何信哲 发表于 2017-09-02 13:42

为什么通过onspace创建的表空间,只用的却只有一半?

刚接触到一个关于informix的项目,在捣鼓的过程中有个疑问来请教各位大大。
通过onspace -s 选定了创建大小,但在onstat -d显示的size却一直是初始选定大小的一半,详见下图。
请问为何会导致可用空间只有一般?




yunzhongyue 发表于 2017-09-04 11:02

onstat -d里显示的单位是page,1 page= 2k

大梦 发表于 2017-09-04 11:20

onspaces加的时候是以K为单位,onstat -d的时候上面显示了pgsize=2048byte
一般情况下AIX,Windows是4K页,其他的都是2K页。

何信哲 发表于 2017-09-04 17:26

回复 2# yunzhongyue

谢谢解答,我明白那个size是什么意思了。

何信哲 发表于 2017-09-04 17:32

回复 3# 大梦

谢谢版主回答。
还有几个疑惑。
onspaces -s 选择创建的大小,就是表空间的存储大小吗?
还有,我有一个4.5G的由dbexport导出的exp文件,但onspaces创建的-s 5G空间却不够用,这是因为导入数据库后大小会变大吗?
望版主解答新手的疑惑。谢谢。

yunzhongyue 发表于 2017-09-05 09:44

有很多原因
1.dbexport文件中不带索引数据,但是导入后要创建索引,需要占用空间。
2.给表的分配空间会大于表实际的占用空间。
3.字段占用空间会大于实际使用空间,如char类型,即使是空值,数据库也会为该字段分配空间。
。。。

何信哲 发表于 2017-09-05 15:22

回复 6# yunzhongyue

哦。这样。谢谢,明白了。
页: [1]
查看完整版本: 为什么通过onspace创建的表空间,只用的却只有一半?