CentOS Informix备份与恢复方法
导读:CentOS环境下Informix数据库备份与恢复指南 一、备份前的准备工作 权限确认:备份操作需以informix用户身份执行(su - informix),确保该用户对备份目录有读写权限。 空间检查:备份文件可能占用大量磁盘空间,需提...
CentOS环境下Informix数据库备份与恢复指南
一、备份前的准备工作
- 权限确认:备份操作需以
informix
用户身份执行(su - informix
),确保该用户对备份目录有读写权限。 - 空间检查:备份文件可能占用大量磁盘空间,需提前确认备份目录所在分区有足够可用空间(可通过
df -h
命令查看)。 - 配置验证:若使用
ontape
或onbar
工具,需检查onconfig
配置文件(通常位于$INFORMIXDIR/etc
)中的关键参数:TAPEDEV
:备份设备路径(如磁带机或本地文件路径,如/dev/st0
或/backup/informix
);TAPEBLK
:块大小(建议设置为16
或32
,提升备份效率);TAPESIZE
:磁带大小(若使用文件路径,可忽略或设置为备份文件的最大预期大小)。
二、常用备份方法及步骤
1. ontape工具(基础且广泛使用)
ontape是Informix原生工具,支持完整备份(0级)、增量备份(1级)、差异备份(2级),并可实现逻辑日志备份。
- 完整备份(0级):备份整个数据库及所有逻辑日志,适合首次备份或灾难恢复。
参数说明:ontape -s -L 0 -t /backup/informix/full_backup
-s
(静默模式,减少输出信息);-L 0
(指定0级备份);-t
(备份目标目录)。 - 增量备份(1级):仅备份自上次0级备份后修改的数据,适合日常增量备份。
ontape -s -L 1 -t /backup/informix/incremental_backup
- 差异备份(2级):仅备份自上次1级或0级备份后修改的数据,适合高频数据变化的场景。
ontape -s -L 2 -t /backup/informix/differential_backup
- 逻辑日志备份:备份事务日志,确保恢复到指定时间点(需配合0级备份使用)。
ontape -s -L 0 -t /backup/informix/log_backup
2. onbar工具(高效并行备份)
onbar支持并行备份(提升速度)、时间点恢复(PITR),但配置较复杂(需设置BAR_ACT_LOG
、BAR_DEBUG_LOG
等参数)。
- 完整备份:
参数说明:onbar -b full -d /backup/informix/onbar_full
-b full
(指定完整备份);-d
(备份目录)。 - 恢复流程:
- 停止数据库服务:
onmode -ky
; - 执行恢复:
onbar -r -L 0 /backup/informix/onbar_full
(-L 0
表示从0级备份恢复); - 启动数据库服务:
onmode -z
。
- 停止数据库服务:
3. dbexport/dbimport(ASCII格式导出)
dbexport将数据库导出为ASCII文本文件,适合数据迁移或小规模备份(不支持增量备份)。
- 备份步骤:
参数说明:dbexport -d target_database -c -ss
-d
(指定数据库名);-c
(创建导出目录);-ss
(静默模式)。 - 恢复步骤:
参数说明:dbimport -d target_database -c -i /backup/informix/target_database.exp
-i
(指定导出目录)。
4. Onunload(二进制高效卸出)
Onunload以二进制格式卸出数据,备份效率高,但仅能恢复到相同版本的Informix数据库。
- 备份单个表:
unload to /backup/informix/table_unload.unl select * from table_name
- 备份整个数据库:需编写脚本遍历所有表,或使用
dbexport
结合Onunload
。
5. 自动定时备份(避免人工遗漏)
通过cron
定时任务自动执行备份脚本,例如每天凌晨2点执行完整备份:
- 编辑备份脚本
/home/informix/auto_backup.sh
:#!/bin/bash BACKUP_DIR="/backup/informix" DATE=$(date +%Y%m%d) mkdir -p "$BACKUP_DIR" /opt/IBM/informix/bin/ontape -s -L 0 -t "$BACKUP_DIR/full_$DATE" find "$BACKUP_DIR" -mtime +30 -type f -name 'full_*' -exec rm -rf { } \; # 删除30天前的备份
- 添加
cron
任务:
插入以下内容:crontab -e
0 2 * * * /home/informix/auto_backup.sh
三、恢复流程及注意事项
1. 恢复前准备
- 停止数据库服务:防止备份过程中数据被修改,执行
onmode -ky
(强制关闭数据库)。 - 确认备份文件:检查备份文件的完整性和可用性(如通过
ls -lh
查看文件大小,或使用ontape -t
测试备份文件)。
2. 恢复步骤
- ontape恢复:
onmode -ky # 停止数据库 ontape -r -L 0 /backup/informix/full_backup # 恢复0级备份 onmode -z # 启动数据库
- onbar恢复:
onmode -ky onbar -r -L 0 /backup/informix/onbar_full onmode -z
- dbimport恢复:
onmode -ky dbimport -d target_database -c -i /backup/informix/target_database.exp onmode -z
3. 注意事项
- 备份策略:采用“完整备份+增量/差异备份”组合,例如每周日做完整备份,周一至周六做增量备份,降低备份时间和存储成本。
- 测试恢复:定期(如每月)测试备份文件的恢复流程,确保备份数据有效(可在测试环境进行)。
- 日志管理:保留逻辑日志文件(位于
$INFORMIXDIR/dblogs
),确保onbar
能实现时间点恢复。 - 权限管理:备份目录需仅允许
informix
用户访问,防止未授权修改。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Informix备份与恢复方法
本文地址: https://pptw.com/jishu/727170.html