温馨提示×

Debian Informix迁移步骤是什么

小樊
38
2026-01-06 11:39:02
栏目: 智能运维

Debian 环境下 Informix 迁移步骤

一 迁移总览与准备

  • 明确迁移方式:优先选择逻辑迁移(dbexport/dbimport),跨小版本/跨平台更稳妥;同版本且硬件一致时可用物理迁移(ontape/onbar 备份与还原)
  • 版本与兼容性:确认源/目标 Informix 版本操作系统架构兼容,避免跨大版本直接导入。
  • 规划资源:目标端准备充足磁盘空间、合适的 dbspace/表空间日志空间,并预留导入期间的增长余量
  • 网络与连通:保证源/目标主机网络互通,开放相应端口(如 onsoctcp 监听端口)。
  • 备份与回退:迁移前对源库做全量备份,并准备回退方案
  • 字符集与排序规则:统一 DB_LOCALE/CLIENT_LOCALE,避免导入后字符比较/显示异常。
  • 工具与环境:准备 dbaccess、dbexport、dbimport、ontape/onbar、onspaces、onstat 等工具,并以 informix 用户执行。

二 迁移实施步骤

  1. 源库准备与导出
    • informix 用户停止写入或置于静默窗口,执行健康检查(如 onstat、应用侧确认无长事务)。
    • 导出数据库:
      • 命令:dbexport -o /path/exp <dbname>(如需保留服务器级建库参数,加 -ss)。
      • 导出后目录结构包含 <dbname>.exp/,其中有模式脚本 <dbname>.sql 与数据文件。
  2. 目标端安装与初始化
    • 安装与目标版本匹配的 Informix;创建 informix 用户与目录,设置环境变量:
      • INFORMIXDIR、INFORMIXSERVER、ONCONFIG、INFORMIXSQLHOSTS、PATH
    • 初始化实例(示例):oninit -ivy;按需配置 ROOTPATH、DBSERVERNAME 等。
  3. 目标端存储与日志规划
    • 创建 dbspace/chunkonspaces -c -d <dbsname> -p <path> -o <offset> -s <size>
    • 规划并添加物理日志/逻辑日志(示例):
      • onparams -p -s <size> -d <plogdbs> -y
      • onparams -a -d <llogdbs> -s <size>
  4. 配置网络与服务名
    • 编辑 $INFORMIXDIR/etc/sqlhosts,确保 DBSERVERNAMEHOSTNAME/PORT 正确。
    • 确认 onconfigDBSERVERNAMENETTYPE 等参数合理。
  5. 导入数据
    • <dbname>.exp 目录复制到目标端(如 /path/exp/<dbname>.exp)。
    • 导入命令:dbimport -c -i /path/exp <dbname>;如需直接指定目标 dbspace,使用 -d <dbsname>;如需导入时创建带日志的数据库,使用 -l(或 -ansi 创建 ANSI 兼容日志)。
  6. 日志与一致性处理
    • 导入完成后,按需将数据库置于缓冲/无缓冲日志模式:ontape -s -B|-U <dbname>;随后执行逻辑日志备份以激活日志链。
  7. 应用切换与验证
    • 调整应用连接串/主机/端口,灰度切换;
    • 使用 dbaccess 抽样查询与对账,核对行数、主外键、索引、触发器
    • 观察 onstat -l/-d/-u 等指标,确认无长事务与空间异常。

三 常见问题与处理

  • 字符集不一致导致乱码或比较异常
    • 在两端统一 DB_LOCALE/CLIENT_LOCALE(如 EN_US.819),必要时在导入前调整环境变量并重建/导入。
  • 导入时报 “ISAM error: no free disk space (-271)”
    • 目标 dbspace 虽显示有空闲,但表的 extent/nextsize 不足;在导入前为大表显式设置更大的 extent size/next size,并确保 dbspace 可扩展。
  • 导入后数据库未启用日志
    • 使用 ontape -s -B <dbname> 开启日志,随后立即做一次逻辑日志备份以开始日志链。
  • 导入失败或对象缺失
    • 使用 -ss 导出以获取服务器级建库参数;导入时加 -c 让过程在致命错误前尽量完成;必要时用 dbschema 单独导出/比对对象定义。

四 迁移方式选择建议

  • 逻辑迁移(dbexport/dbimport):跨小版本/跨平台/跨字符集场景优先;可精细控制目标 dbspace、对象定义与日志策略,但大数据量导入时间相对更长。
  • 物理迁移(ontape/onbar 备份与还原):同版本、同平台、同页大小环境最快;需保证块/页大小一致,还原时按存储规划恢复 rootdbs/物理日志/逻辑日志dbspaces

0