在 Linux 上给 IBM Informix 扩容,通常分为 数据库空间扩容(dbspace) 和 操作系统级磁盘扩容 两大类。下面按最常见场景给你一个完整、可操作的说明。
onstat -d
关注字段:
也可以登录 dbaccess:
SELECT name, owner, fsize, free
FROM sysdbspaces;
扩容方式取决于 dbspace 类型。
rootdbs、datadbs)mkdir -p /informix/chunks
touch /informix/chunks/datadbs02
chmod 660 /informix/chunks/datadbs02
chown informix:informix /informix/chunks/datadbs02
onspaces 扩容onspaces -a datadbs -p /informix/chunks/datadbs02 -o 0 -s 2048000
参数说明:
-a datadbs:追加到 dbspace-p:chunk 路径-o 0:偏移量(文件一般为 0)-s:大小(单位:KB)✅ 示例:
2048000 KB = 2GBonstat -d
touch /informix/chunks/newdbs01
chmod 660 /informix/chunks/newdbs01
chown informix:informix /informix/chunks/newdbs01
onspaces -c -d newdbs -p /informix/chunks/newdbs01 -o 0 -s 5120000
CREATE TABLE t1 (...) IN newdbs;
-- 或
ALTER TABLE t1 PUT IN newdbs;
onspaces -a tempdbs -p /informix/chunks/temp02 -o 0 -s 1024000
以 LVM 为例:
lsblk
lvextend -L +20G /dev/mapper/vg01-lv_informix
resize2fs /dev/mapper/vg01-lv_informix
df -h
✅ Informix 不需要重启
⚠️ 风险较高,需停库
onmode -ky
oninit -v
UPDATE sysmaster:sysdbspaces
SET flags = flags || 0x8000
WHERE name = 'datadbs';
⚠️ 不建议生产环境默认开启
✅ 优先加 chunk,而不是建大 chunk
✅ dbspace 不要超过 80%
✅ 数据、索引、临时表 分离 dbspace
✅ chunk 文件权限 660
No free disk space
➡ 检查 df -h
Permission denied
➡
chown informix:informix chunk_file
chmod 660 chunk_file
你可以直接贴出:
onstat -d
df -h
我可以根据你的真实环境 精确给你扩容命令 ✅