centos informix迁移流程是啥
小樊
34
2026-01-08 00:26:46
CentOS 上 Informix 迁移流程
一 迁移总览与方案选择
- 明确目标:同版本原地升级、跨版本升级、同机房/跨机房迁移、同构/异构平台迁移。
- 方案对比与适用场景:
- 逻辑迁移(dbexport/dbimport):跨小版本/跨平台通用、可读性强,适合中小型库或结构复杂、需改造的对象;停机时间较长。
- 物理迁移(ontape 零级备份/恢复、onbar):大库首选,停机短、速度快;要求版本/平台兼容、存储布局可复用。
- ETL/应用侧迁移:对数据清洗、转换、合并友好;适合跨库/跨系统整合,开发量较大。
- 建议先做容量与兼容性评估:数据量、对象数量、字符集(如 DB_LOCALE/CLIENT_LOCALE)、页大小(如 4KB/8KB)、dbspace 布局、日志模式、触发器/存储过程/视图依赖、第三方工具兼容性。
二 标准流程
- 准备与评估
- 梳理清单:数据库、用户、权限、dbspace、逻辑日志、参数(onconfig)、定时任务、应用连接串。
- 建立测试环境:用生产备份搭建同等版本/配置的演练库,复现迁移步骤与性能基准。
- 备份与一致性保障
- 静默业务或选择低峰窗口;执行全量备份(ontape -s -L 0 或 onbar -b),确保逻辑日志可回放;保留一份可回滚的备份。
- 源库导出或备份
- 逻辑方式:dbexport 导出为文本(含 DDL 与数据),便于跨版本/跨平台;必要时用 dbschema 单独抽取对象定义。
- 物理方式:ontape 零级备份或 onbar 备份,用于快速恢复至目标实例。
- 目标库准备
- 安装同版本(或目标版本)Informix,初始化实例(oninit),按需创建 dbspace(onspaces),设置 DB_LOCALE/CLIENT_LOCALE、页大小、缓冲池等;校验磁盘空间与权限。
- 数据导入或恢复
- 逻辑方式:dbimport 重建库与对象并加载数据;大表可分片并行导入,导入后执行索引重建与统计信息更新。
- 物理方式:ontape -r 或 onbar -r 恢复;如启用日志,按需要应用逻辑日志至指定时间点(PITR)。
- 应用切换与验证
- 调整连接串、驱动、字符集与 SQL 兼容性;抽样校验数据一致性(行数、主键/唯一约束、关键业务校验和)、性能回归、错误日志与告警检查;保留回滚预案。
三 常用命令示例
- 逻辑导出/导入(跨版本/跨平台常用)
- 导出:dbexport -ss -o /data/export/mydb mydb(-ss 保留存储参数,便于在新环境重建)
- 导入:dbimport -c -i /data/export/mydb mydb(必要时用 -d 指定目标 dbspace)
- 物理备份/恢复(大库高效)
- 零级备份:ontape -s -L 0
- 恢复:ontape -r
- 对象与空间管理
- 导出对象定义:dbschema -d mydb -t all -o schema.sql
- 创建 dbspace:onspaces -c -d dbs1 -p /u01/ifmxdata/dbs1 -o 0 -s 20000000
- 状态与维护
- 查看状态:onstat -
- 一致性检查:oncheck -ce/-cd/-ci
- 逻辑日志:onstat -l;备份日志:ontape -a;切换日志:onmode -l
- 启停实例:oninit;onmode -ky
四 关键注意事项与常见问题
- 版本与平台:跨大版本/跨 CPU 架构优先评估物理兼容性;逻辑迁移更稳妥但停机更长。
- 字符集与排序规则:保持 DB_LOCALE/CLIENT_LOCALE 一致,避免乱码与比较规则差异;必要时在导入前转换。
- 页大小与锁:页大小(如 4KB/8KB)影响最大行长度与锁粒度;跨页大小迁移需评估索引/行拆分。
- 存储与空间:目标端磁盘、inode、dbspace 布局需充足;大对象(BLOB/CLOB)路径与权限要一致。
- 日志与恢复:确保逻辑日志完整可回放;启用归档日志以支持时间点恢复(PITR)。
- 统计信息与索引:导入后重建索引、更新统计信息(update statistics),避免执行计划退化。
- 应用适配:驱动版本、SQL 方言、时区/日期格式、序列/自增、触发器副作用需验证与调整。
五 迁移方式选择建议
- 小型库或需跨版本/跨平台:优先逻辑迁移(dbexport/dbimport),可读性强、改造灵活。
- 大型库、停机窗口短:优先物理迁移(ontape/onbar),速度快、一致性好。
- 跨系统整合/清洗转换:ETL/应用侧迁移,便于数据治理与重构。