温馨提示×

如何在Debian上配置Informix

小樊
35
2025-11-30 05:12:44
栏目: 智能运维

在 Debian 上配置 Informix 的完整步骤

一 环境准备与安装

  • 创建专用用户与目录
    • 执行:sudo groupadd -r informix && sudo useradd -r -g informix -d /opt/informix -m informix
    • 创建数据与根空间:sudo mkdir -p /dbs && sudo chown informix:informix /dbs
  • 安装依赖与解压介质
    • 安装基础工具:sudo apt-get update && sudo apt-get install -y libaio1 libstdc++6 locales-all
    • 可选:安装 JRE(部分安装器需要):sudo apt-get install -y default-jre
    • 将 IBM Informix 安装包解压至 /opt/informix(示例:tar xf ids-*.tar -C /opt/informix
  • 设置环境变量(以 informix 用户执行)
    • 编辑 ~/.bash_profile~/.profile 加入:
      export INFORMIXDIR=/opt/informix
      export INFORMIXSERVER=ifxserver
      export ONCONFIG=onconfig.ifxserver
      export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.ifxserver
      export PATH=$INFORMIXDIR/bin:$PATH
      
    • 使生效:source ~/.bash_profile
  • 运行安装器
    • root 执行:/opt/informix/ids_*/ids_install,按向导完成安装(选择安装目录、创建实例等)。

二 实例初始化与基础配置

  • 准备配置文件
    • 复制模板:cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.ifxserver
    • 关键参数示例(按需调整):
      ROOTPATH     /dbs/rootdbs
      DBSERVERNAME ifxserver
      NETTYPE     onsoctcp,1,50,NET
      SHMVIRTSIZE  128000
      
  • 配置网络与服务
    • /etc/services 增加端口(示例端口 9088):informix_svc 9088/tcp
    • 配置 $INFORMIXSQLHOSTS(示例):
      ifxserver onsoctcp 0.0.0.0 9088
      
  • 初始化与首次启动
    • 初始化:oninit -ivy(交互式,首次建议使用)
    • 或:oninit -y(非交互式)
  • 验证运行状态
    • onstat - 应显示数据库处于 On-Line 状态
    • onstat -g nif 检查网络监听是否正常。

三 创建数据库与基础运维

  • 创建数据库
    • 使用 dbaccessdbaccess - - <<< "CREATE DATABASE mydb;",或进入交互界面创建
  • 常用运维命令
    • 在线模式切换:onmode -ky(停止)、onmode -c startup(启动到在线)
    • 查看状态:onstat -(整体)、onstat -o(共享内存/对象)、onstat -g nif(网络)
  • 客户端连接测试
    • 命令行:dbaccess mydb@ifxserver
    • JDBC 示例:
      jdbc:informix-sqli://dbhost:9088/mydb:INFORMIXSERVER=ifxserver
      
  • 防火墙放行
    • UFW:sudo ufw allow 9088/tcp
    • firewalld:sudo firewall-cmd --add-port=9088/tcp --permanent && sudo firewall-cmd --reload

四 高可用与连接管理(可选)

  • 主从复制 HDR(High Availability Data Replication)
    • 准备主库与备库实例(名称分别为 ifx_idsifx_hdr),确保网络与 sqlhosts 可达
    • 在备库执行:onmode -d primary ifx_ids(将备库切换为 HDR 辅助
    • 在主库检查:onstat -g dri 应显示 HDR 状态
  • 共享磁盘 SDS(Shared Disk Secondary)
    • 在共享磁盘备库执行:onmode -d secondary ifx_ids
  • 连接管理器 CM(Connection Manager)
    • 配置 $INFORMIXSQLHOSTS 分组(示例组 g1 包含 ifx_ids / ifx_hdr / ifx_sds
    • 编写 cmconfig,启动:oncmsm -c cmconfig
    • 客户端通过 g1 连接,实现读写分离与故障切换。

五 常见问题与排查要点

  • 权限与目录
    • 确保 /dbs$INFORMIXDIR 归属 informix:informix,权限合理(如 755/660
  • 端口与服务名
    • 确认 /etc/servicessqlhosts 的端口一致,且防火墙已放行
  • 初始化失败
    • 检查 ROOTPATH 所在文件系统可用空间与权限;查看 $INFORMIXDIR/logs/online.log
  • 客户端连不通
    • 使用 onstat -g nif 确认监听;pingtelnet dbhost 9088 验证网络
  • 字符集与本地化
    • 安装 locales-all,在客户端与服务器统一 DB_LOCALE/CLIENT_LOCALE,避免乱码。

0