一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

CentOS Informix故障诊断

时间:2026-06-06 11:03:59 编辑:袖梨 来源:一聚教程网

CentOS 上 Informix 故障诊断与处置

centos informix故障诊断

一 快速定位流程

  • 收集环境与进程信息:查看系统日志 /var/log/messages、/var/log/syslog,内核日志 dmesg;确认进程 oninit 是否在运行(如 ps -ef | grep informix);检查资源 top、vmstat 1、iostat -x 1、free -m。
  • 校验配置与连通:核对 $INFORMIXDIR、$ONCONFIG、$INFORMIXSERVER 与 /opt/informix/etc/onconfig.、/opt/informix/etc/sqlhosts;用 dbaccess - 测试本地连接,用 ping/telnet 测试网络。
  • 使用数据库诊断工具:用 onstat 观察事务、锁、逻辑日志、空间;用 oncheck 校验对象一致性;必要时用 onmode 做紧急处置(如切换单用户、终止会话)。
  • 备份与变更控制:任何修复前先做可用备份,变更遵循“小步可回滚”。

二 常见故障与处置要点

  • 长事务导致回滚或“卡住”现象:出现 “Aborting Long Transaction”,大量会话阻塞。诊断:onstat -x -r 10 观察回滚进度;onstat -c | grep MSG 定位运行日志;onstat -u 找到会话,再用 onstat -g ses 查看 SQL。处置:拆分大事务、缩短事务持有时间;必要时扩容逻辑日志;在 IDS 9.3x 及以上可用 onparams -a -d -s -i 在线追加日志。
  • 逻辑日志满现象:实例几乎无响应;onstat -l 显示多数日志 flags 为 U------。诊断:检查备份链路(空间满、设备异常等);用 onstat -x 的 beginlg 定位占用日志的事务;注意 flags 末位为 L 的日志用于快速恢复,即使备份也不可复用。处置:立即执行日志备份(如 ontape -s 或第三方工具)释放空间;无法及时备份时,先在线追加日志;若由长事务引起,优先终止该事务(见下)。
  • 频繁锁冲突现象:应用报 -243/-244 等锁错误。诊断:用 onstat -k | grep 定位锁对象;通过 onstat -u | grep找到持有者;用 onstat -g ses 查看正在执行的 SQL。处置:优化 SQL、缩短事务;调整隔离级别与锁等待(如 LOCKWAIT);必要时用 onmode -z 终止阻塞会话。
  • Chunk I/O 失败现象:日志出现 chunk I/O error;onstat -d 显示 chunk 状态 down。诊断:核对设备是否存在、权限是否正确;用只读 dd if=/dev/sdX of=/dev/null bs=1M count=100 验证可读。处置:修复或更换磁盘;修正权限;用 onspaces 添加新 chunk 并迁移数据。
  • 连接失败现象:客户端报 Connection refused/Network unreachable。诊断:核对 sqlhosts 与端口;用 firewall-cmd 放行端口(示例:firewall-cmd --permanent --add-port=1521/tcp && firewall-cmd --reload);必要时检查 SELinux 策略。
  • 安装或启动失败(环境变量/权限)现象:提示 INFORMIXDIR not set 或 Permission denied。处置:在 informix 用户环境设置 INFORMIXDIR、ONCONFIG、INFORMIXSERVER;确保安装与数据目录属主为 informix:informix。

三 关键命令速查表

目标命令示例要点
查看事务与回滚onstat -x -r 10关注回滚进度与长事务
查运行日志路径onstat -cgrep MSG 获取 MSGPATH
会话与 SQLonstat -u;onstat -g ses 定位阻塞者与正在执行的 SQL
锁与对象onstat -k;onstat -kgrep partnum 定位锁对象
逻辑日志onstat -l识别 U------、末位 L 的日志
表/索引一致性oncheck -p ;oncheck -u 校验物理/逻辑一致性
空间与 Chunkonstat -d;onspaces发现 down 的 chunk 并扩容
在线追加日志onparams -a -d -s -iIDS 9.3x+ 支持在线扩容
终止会话onmode -z 谨慎使用,先确认会话与影响
本地连接测试dbaccess - 排除应用侧因素

四 应急与安全建议

  • 处置顺序建议:先保命(备份/只读)> 定位根因(日志/工具)> 恢复服务(追加日志/释放空间/终止会话)> 验证与复盘(监控、SQL 优化、容量规划)。
  • 变更风险控制:任何 onmode/onparams/onspaces 操作前确保有可用备份;生产环境尽量在维护窗口执行。
  • 监控与预防:持续监控 逻辑日志使用率、长事务、锁等待、I/O 错误、磁盘空间;优化大事务与慢 SQL,合理设置 LOCKWAIT 与隔离级别。
  • 连接安全:仅开放必要端口;使用 sqlhosts 主机名解析或正确 IP;必要时调整 firewall-cmd/SELinux 策略。

五 常见错误码速查

错误码含义快速处置
-113没有当前记录确认查询能生成当前列表
-116不能分配内存检查可用内存,简化语句/表
-118不能读事务日志用 dblog 定位问题记录
-119不能打开日志文件校验文件路径与权限
-121不能写日志文件校验日志文件写权限
-123不允许 NFS 操作检查网络文件访问
-200标识符过长缩短至不超过 18 个字符
-201语法错误检查拼写、关键字与保留字
-206表不存在校验表名拼写与所在库
-209数据格式不兼容在库上运行 DBUPDATE 升级兼容

热门栏目