在 CentOS / RHEL 系统上备份 IBM Informix 数据库,常见做法主要有 onbar、ontape 和 dbexport。下面按常用程度和实践经验给你一个清晰说明。
| 备份方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| ontape | 单机、简单环境 | 配置简单、自带工具 | 不支持并行、恢复较慢 |
| onbar | 生产环境、需要并行 | 支持并行、灵活 | 配置复杂 |
| dbexport | 逻辑备份 | 可读、易迁移 | 锁表、非增量 |
| 外部备份(OS级) | 冷备 | 快速 | 必须停库 |
ontape 备份(推荐新手)onstat -
看到 On-Line 即可。
编辑 $INFORMIXDIR/etc/onconfig:
TAPEDEV /backup/inf_db
TAPESIZE 0
创建目录:
mkdir -p /backup/inf_db
chown informix:informix /backup/inf_db
ontape -s -L 0
-s:开始备份-L 0:Level 0 全量备份✅ 成功后备份文件在 /backup/inf_db
ontape -s -L 1 # 增量
ontape -s -L 2 # 再次增量
ontape -r
按提示操作即可(可恢复到指定时间点)。
onbar 备份(推荐生产环境)onbar 需要 存储管理器onbar -c
编辑:
$INFORMIXDIR/etc/sm_versions
onbar -b -L 0
onbar -r
✅ 支持:
dbexport适合小库或迁移:
dbexport dbname -o /backup/dbexport
恢复:
dbimport dbname -i /backup/dbexport
⚠️ 会锁表,不适合 7×24 核心系统
onmode -ky
cp -a $INFORMIXDIR /backup/inf_cold
oninit -v
⚠️ 停机时间窗口较大
✅ 生产环境
✅ 务必备份
$INFORMIXDIR/etconconfigsqlhosts✅ 验证备份
ontape -t /backup/inf_db -r
TAPEDEV must be a directory or device
✅ 确保目录存在且属主是 informix
onstat -g bus
你可以告诉我:
我可以直接给你 一套可用的备份方案 + 脚本 ✅