ubuntu informix如何实现数据恢复
导读:Ubuntu 上 Informix 数据恢复实用指南 一 恢复前准备与关键检查 切换到 informix 用户并确认环境变量:如 INFORMIXDIR、PATH、ONCONFIG 等已正确设置,避免找不到命令或配置文件。 核对系统配置一...
Ubuntu 上 Informix 数据恢复实用指南
一 恢复前准备与关键检查
- 切换到 informix 用户并确认环境变量:如 INFORMIXDIR、PATH、ONCONFIG 等已正确设置,避免找不到命令或配置文件。
- 核对系统配置一致性:磁盘路径、chunk 文件大小、共享内存参数等应与做 0 级备份 时相同或更大;目录容量需不小于归档时的大小。
- 准备并核对配置文件:确保当前 $ONCONFIG 与做 0 级备份时一致;Informix 在做 0 级备份时会保存一份配置副本,恢复时应使用当时的配置或保证一致性。
- 规划恢复路径:如使用磁盘文件代替磁带,提前创建目录并设定 informix:informix 权限,避免归档/恢复因权限失败。
- 停止业务并进入静默状态:执行 onmode -ky 将实例干净下线,防止恢复过程被并发写入干扰。
二 按场景的恢复步骤
- 场景 A 使用 ontape 恢复全库或指定数据空间
- 配置归档设备:在 $ONCONFIG 中设置 TAPEDEV、TAPEBLK、TAPESIZE(数据归档)与 LTAPEDEV、LTAPEBLK、LTAPESIZE(逻辑日志归档),并确保目录存在且对 informix 具备 RWX 权限。
- 全库恢复:执行 ontape -r,按提示依次加载 0 级、1 级、2 级归档;如仅需恢复部分数据空间,可用 ontape -r -D 数据空间名。
- 逻辑日志回放:若需追平到故障前时间点,确保逻辑日志已归档并在恢复流程中按提示回放。
- 校验:恢复完成后执行 onstat - 系列命令检查实例状态、空间与日志一致性。
- 场景 B 使用 onbar 恢复(企业级、并行)
- 准备存储与策略:确保 BAR_BSALIB、BAR_MAX_BACKUP、日志归档等配置正确,备份介质可访问。
- 执行恢复:常用 onbar -r 恢复全实例;如需时间点恢复,使用 onbar -r -L < 时间点> 。
- 校验:确认 onstat -g arc 与 onstat -l 显示归档与逻辑日志状态正常。
- 场景 C 使用 dbexport/dbimport 迁移或重建库
- 准备空库:使用 dbimport 前先创建同名空库(或让 dbimport 自动创建),确保 DB_LOCALE/CLIENT_LOCALE 与导出时一致以避免字符集问题。
- 执行导入:运行 dbimport -d 目标库名 -f 导出文件,大数据量时建议分批导入并监控空间与锁等待。
- 场景 D 文件系统级误删且尚无数据库级备份
- 立刻停止写入:卸载或只读挂载相关分区,避免覆盖被删除的 chunk 文件。
- 使用 extundelete 尝试恢复:例如 extundelete /dev/sdXY --restore-file /opt/informix/chunks/chunk001,将恢复文件放到原路径或新路径后,再用 oninit 拉起实例并检查一致性。
- 若 extundelete 无效或数据极关键,尽快寻求专业恢复服务。
三 关键参数与目录权限示例
- onconfig 关键项(示例值可按环境调整):
- TAPEDEV /home/informix/archives(数据归档目录)
- TAPEBLK 32(单位 KB)
- TAPESIZE 204800(单位 KB)
- LTAPEDEV /home/informix/archives/logs(逻辑日志归档目录)
- LTAPEBLK 32,LTAPESIZE 102400
- 权限与目录:归档目录需对 informix:informix 至少 rwx,否则会出现 “Archive failed … open archive tape failed” 等错误;必要时执行:
- chown informix:informix /home/informix/archives
- chmod 770 /home/informix/archives
- 一致性要求:恢复到新环境时,chunk 路径、大小与内核参数需与 0 级备份时一致或更大,避免因空间或路径不匹配导致恢复失败。
四 常见错误与排查要点
- 权限/路径错误:归档或恢复时报 “Directory must have RWX permission … / open archive tape failed”。处理:校正目录属主为 informix,权限 770/777(视安全策略),确认 TAPEDEV/LTAPEDEV 指向有效目录或设备文件。
- 配置不一致:实例无法启动或恢复中断。处理:核对 $ONCONFIG 与 0 级备份时一致;磁盘路径、chunk 大小不小于归档时;必要时用 0 级备份后的配置副本恢复。
- 逻辑日志不足:备份/恢复前提示空间不足。处理:先备份并释放已用逻辑日志,确保剩余空间不低于单个逻辑日志的 50%。
- 目标环境不匹配:跨机恢复失败。处理:保证机型、操作系统、Onconfig 与非临时 dbspace 的数量与大小一致或更大。
五 恢复后的验证与建议
- 实例与空间:用 onstat - 查看实例是否 On-Line、是否有 长事务/长锁,用 onstat -d 检查 dbspaces/chunks 状态与剩余空间。
- 日志与一致性:用 onstat -l 检查逻辑日志是否连续、是否处于 Unbuffered/Buffered 正确状态;必要时执行 oncheck -pt/-pe 校验表/索引一致性。
- 数据正确性:抽样查询关键业务表,核对记录数与聚合值;如为时间点恢复,确认回放的日志范围覆盖故障前时刻。
- 备份策略优化:关键库建议至少每日 0 级备份,并定期做 逻辑日志备份;变更 Onconfig 后立即做一次 0 级备份;定期在测试环境演练恢复流程并校验备份完整性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu informix如何实现数据恢复
本文地址: https://pptw.com/jishu/771493.html
