Ubuntu 上 Informix 的更新与维护指南
一 版本与兼容性确认
- 明确当前版本与实例状态:执行 onstat - 查看数据库是否在线、是否有长事务或异常告警;记录 INFORMIXDIR、ONCONFIG、DBSERVERNAME 等关键配置。
- 核对操作系统与内核:执行 lsb_release -a、uname -a,确认 glibc 等基础库版本满足目标 Informix 版本要求。
- 兼容性检查:对照 IBM 支持矩阵,确认目标版本与当前 Ubuntu LTS、CPU 架构(x86_64/aarch64)、驱动与存储兼容。
- 规划升级路径:优先选择 小版本内就地升级;跨大版本或跨架构建议 非就地升级(迁移导入导出)。
- 风险评估:梳理应用依赖(JDBC/ODBC/ESQL/C SDK)、触发器/存储过程、字符集、页大小、分区策略等差异点。
- 变更窗口与回退方案:明确停机窗口、回退触发条件与步骤(保留旧实例与备份,可快速回切)。
二 升级流程
- 准备阶段
- 完整备份:物理/逻辑备份皆可,确保可恢复;备份 $INFORMIXDIR/etc(含 onconfig、sqlhosts)、$ONCONFIG 指向的 ROOTPATH、逻辑日志、应用与配置。
- 健康检查:执行 oncheck -cD/-cI、检查点、逻辑日志与归档状态,确保数据库处于良好状态。
- 测试环境验证:在测试库复现实例与负载,完成功能、性能与稳定性回归。
- 执行阶段
- 就地升级:安装新版本到新目录(避免覆盖),保持 ROOTPATH 与 ONCONFIG 不变;按官方指引执行升级脚本/命令,必要时执行 版本迁移脚本。
- 非就地升级:使用 dbexport/dbimport 或迁移工具导出数据,在新实例导入;校验对象与数据一致性。
- 切换与验证
- 切换 INFORMIXDIR、PATH、LD_LIBRARY_PATH 指向新版本;用 oninit -v 启动,检查 onstat - 状态、逻辑日志与空间。
- 功能与性能回归:执行冒烟测试、关键业务回归与基准测试,确认无性能退化。
- 回退
- 就地:快速切回旧 INFORMIXDIR 与 ONCONFIG 并启动;
- 非就地:切回旧实例或重新导入备份。
- 关键要点:全程避免其他变更操作;升级后执行错误检查与日志审计;所有步骤留痕。
三 日常维护与监控
- 健康检查与空间管理
- 例行巡检:onstat -d/-g seg/-g stm/-g llog 查看表空间、chunk、会话与逻辑日志;oncheck -pt/-pe 校验表/索引。
- 空间预警:为 rootdbs、tempdbs、逻辑日志 设置阈值与扩容预案;定期清理临时表与历史数据。
- 备份与恢复演练
- 制定 全量+增量 策略;定期做恢复演练与校验和验证;保留多份异地/离线副本。
- 日志与审计
- 集中收集 online.log、alert.log;启用/审计关键操作,监控异常登录与权限变更。
- 性能与调优
- 关注缓冲池命中率、锁等待、I/O 与网络延迟;按需调整 LRU、CKPTINTVL、SHMKEY、NUMCPUVPS 等参数并回归测试。
- 安全与账号
- 使用专用 informix 系统账号运行实例;限制 root 直接操作;按最小权限分配数据库用户与角色。
四 Ubuntu 系统层面的补丁与安全
- 标准补丁流程
- 更新索引:sudo apt update;
- 升级软件包:sudo apt upgrade,遇到依赖变化用 sudo apt full-upgrade;
- 清理缓存:sudo apt autoremove;
- 必要时重启并验证:uname -r 对比前后内核,检查关键服务状态。
- 安全加固要点
- 账号与登录:锁定不必要的系统账号,设置 密码复杂度/有效期,限制 su 使用;
- 文件与权限:关键文件(如配置与密钥)设置不可变属性(如 chattr +i),最小化权限;
- 审计与合规:开启系统审计,集中审计数据库与系统日志。
- 升级 Ubuntu 版本(如从 20.04 到 22.04)
- 先完成 Informix 备份与演练;执行 sudo do-release-upgrade -d 按向导升级;升级后复核 glibc 与驱动兼容性、重启并验证服务。
五 常用命令与排错清单
| 目标 |
命令示例 |
| 查看实例状态 |
onstat - |
| 初始化实例 |
oninit -ivy |
| 快速关闭 |
onmode -ky |
| 滚动重启(不丢连接) |
onmode -m |
| 查看空间与 chunk |
onstat -d |
| 查看逻辑日志 |
onstat -l |
| 校验表/索引 |
oncheck -pt :,oncheck -pe : |
| 配置与连接 |
环境变量:INFORMIXDIR、ONCONFIG、INFORMIXSERVER、LD_LIBRARY_PATH;连接工具:dbaccess |
- 排错要点
- 启动失败:检查 online.log 与 $ONCONFIG 的 ROOTPATH、DBSERVERNAME、NETTYPE;确认 chunk 权限与可用空间。
- 空间不足:扩容 rootdbs/tempdbs 或迁移大对象;清理逻辑日志与临时表。
- 升级后性能下降:复核参数(如 SHMKEY、LRU、NUMCPUVPS)、执行统计信息更新与索引重建;对比升级前后基准。
- 回退失败:确保旧实例与备份可用,优先回切配置与数据路径,再恢复服务。