CentOS 上 Informix 备份方法与实操
一 常用备份方式对比
| 方式 |
备份形态 |
是否支持分级 |
典型用途 |
关键限制 |
| ontape |
物理级别(数据空间/页) |
是(0/1/2 级) |
日常全量/增量/差异备份,支持逻辑日志备份 |
需正确配置 TAPEDEV/TAPEBLK/TAPESIZE;跨机恢复对机型、OS、Onconfig、Dbspace 布局一致性要求高 |
| dbexport/dbimport |
逻辑导出(ASCII) |
否 |
迁移、跨版本/跨产品转换、消除碎片 |
以独占方式运行,备份期间业务暂停;恢复需选择日志方式(ANSI/buffered/nobuffered) |
| onunload/onload |
二进制页级 |
否 |
同构环境快速卸/装表或库 |
要求两端磁盘页大小一致;不保留初始权限/同义词;仅装入 Online 管理的对象 |
| 说明:ontape 支持 0 级(完整)、1 级(自上次 0 级后修改)、2 级(自上次 1 级后修改);dbexport 以 ASCII 导出,便于查看与传输;onunload 以页为单位二进制导出,效率更高。 |
|
|
|
|
二 标准操作步骤
- 前置检查
- 切换到 informix 用户,确认环境变量 INFORMIXDIR、INFORMIXSERVER 正确;检查实例状态(如 onstat -)。
- 对 ontape:在 $ONCONFIG 中正确设置 TAPEDEV/TAPEBLK/TAPESIZE;确保剩余逻辑日志空间充足(如低于单个日志的 50% 会拒绝备份,需先备份/归档已用日志)。
- 使用 ontape 进行 0/1/2 级备份
- 全量示例:ontape -s -L 0
- 增量示例:ontape -s -L 1
- 差异示例:ontape -s -L 2
- 逻辑日志备份:ontape -l
- 提示:备份期间不要切换实例运行方式;避免后台方式执行(如“&&”),以免交互中断。
- 使用 dbexport 导出数据库
- 导出:dbexport -c -o /backup/mydb_export mydb
- 导入:dbimport -c /backup/mydb_export/mydb.exp
- 说明:导出为独占模式;可通过编辑模式文件调整目标库名/表定义;恢复时需选择日志方式。
- 使用 onunload 导出表/库
- 示例:onunload -t /backup/mytbl.unl mydb:mytbl
- 导入:onload -t /backup/mytbl.unl mydb:mytbl
- 说明:两端页大小需一致;不保留初始权限/同义词;仅装入 Online 管理的对象。
三 自动化与保留策略
- 脚本化与定时
- 示例脚本(ontape 0 级,按日期命名,记录日志):
#!/bin/bash
. /opt/IBM/informix/etc/setenv.sh
BACKUP_DIR="/backup/informix"
DATE=$(date +%F)
LOG=$BACKUP_DIR/ontape_L0_$DATE.log
mkdir -p $BACKUP_DIR
ontape -s -L 0 > $LOG 2>&1
if [ $? -eq 0 ]; then
echo "INFO: ontape L0 finished at $(date)" >> $LOG
else
echo "ERROR: ontape L0 failed at $(date)" >> $LOG
fi
- 定时任务(每周日 2:00 全备,工作日 2:30 增量):
0 2 * * 0 /opt/scripts/ontape_L0.sh
30 2 * * 1-6 /opt/scripts/ontape_L1.sh
- 保留与异地
- 建议按保留期(如近 7/30 天)定期清理;关键备份做远程/云拷贝,降低本地灾难风险。
- 定期做恢复演练验证可用性与 RPO/RTO。
四 恢复要点与注意事项
- ontape 恢复
- 全量/增量/差异恢复:ontape -r
- 逻辑日志前滚:ontape -l
- 跨机恢复要求:两台服务器机型、操作系统、Onconfig 及非临时 Dbspace 的数量与大小需一致,否则可能无法恢复。
- dbexport/dbimport 恢复
- 导入前创建目标库并选择日志方式(ANSI/buffered/nobuffered);导入后按需调整索引/权限。
- onunload/onload 恢复
- 两端磁盘页大小一致;仅装入 Online 管理的数据库/表;注意初始权限/同义词不会保留。
- 通用要点
- 每次 0 级备份后建议备份当时的 Onconfig;确保逻辑日志空间充足;备份期间避免切换实例运行方式;定期验证备份完整性与可恢复性。