INFORMIX数据库添加chunk
- 问题:在dbaccess oms xxx.sql导入sql语句时报错
导入失败。原因是xxx.sql文件里的insert 语句以及delete语句都能执行,create的建表语句执行失败。由于chunk空间不足导致。如图:
- 添加chunk
第一步要进入到infromix。
su - infromix
第二步是要在某个路径(可以自己创建路径)下创建文件
第三步执行“设置660”的权限:
第四步 执行onspaces -a userdbs -p /home/informix/wx/userdbs4 -o 0 -s 1024000
说明 :
-a 表示增加
-p 表示增加chunk所在的位置,
-o 偏移量
-s 增加chunk的大小单位为kb
onspaces里面的-d 是drop的意思,是删除。
添加chunk,要用-a。
onspaces -a dbspace名称 -p 路径 -o 偏移 -s 大小。
其中dbspace名称就是你要添加chunk的dbspace, 路径就是要存放chunk文件的目录,偏移和大小都是以kb为单位。如图是添加成功后的截图(我用的是userdbs3):
第五步:执行onstat -d查看数据库Dbspaces和Chunk的情况
3. 其他操作:
第一个问题:由于在之前进入数据库的操作是dbccess oms,误以为Dbspaces就是omc,所以在创建的时候用的语句是:onspaces -c -d oms -p /home/informix/wx/userdbs2 -o 0 -s 102400 -k 16
然后就误操作,创建了一个oms的Dbspaces,所以要将其删掉,删除语句为:onspaces -d oms
第二个问题:由于执行添加chunk的free空间太小,导致分配的空间不足以支撑我接下来的操作数据库的操作(测试,建表,添加大量的数据等),如上图我添加的是userdbs2,free是0,所以数据库无法正常使用,所以要删除掉这个chunk,。
删除如下:
多次删除失败,分析其原因,可能是由于建完chunk之后,有数据写入进去了,导致删除不成功,这个问题后续有空再研究。