温馨提示×

Debian Informix配置有哪些要点

小樊
49
2026-01-11 13:03:40
栏目: 智能运维

Debian 上配置 Informix 的关键要点


一 基础准备与目录规划

  • 创建专用系统账号与目录,避免使用 root 运行引擎:
    • 创建用户/组:groupadd informix;useradd -g informix -d /opt/informix -m informix
    • 数据目录:mkdir -p /dbs;chown informix:informix /dbs;touch /dbs/rootdbs;chmod 660 /dbs/rootdbs
  • 安装介质与权限:以 root 执行安装脚本(如 ids_install),完成后确保 $INFORMIXDIR 下产品文件属主为 informix:informix,并按官方 release notes 检查内核与依赖要求。

二 环境变量与配置文件

  • 建议以 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
    • 客户端/SDK 使用场景再加:export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
  • 核心配置文件与关键参数:
    • onconfig(实例配置):至少明确
      • ROOTPATH /dbs/rootdbs
      • DBSERVERNAME ifxserver
      • 其他如 SERVERNUM 保持唯一;必要时设置 RESIDENTNOAGE 以优化内存驻留与调度优先级(与平台相关)
    • sqlhosts(网络与连接方式):为服务器定义条目,例如
      • ifxserver onsoctcp your_ip your_service
      • 常见协议:onsoctcp(TCP/IP)、onipcshm(本地共享内存)、onipcshm/onipcpip(本地 IPC)
    • /etc/services(系统服务端口映射):例如
      • informix_se 1536/tcp(示例端口,按实际规划填写)

三 初始化与存储布局

  • 初始化实例(首次部署):
    • 复制模板:cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.ifxserver
    • 编辑关键项:ROOTPATH、DBSERVERNAME 等
    • 初始化:oninit -ivy(交互式初始化,按提示完成)
  • 创建业务与日志 dbspace(示例):
    • onspaces -c -d datadbs1 -p /dbs/datadbs1 -o 0 -s 200000 -k 8k
    • onspaces -c -d plogdbs -p /dbs/plogdbs -o 0 -s 2000000
    • onspaces -c -d llogdbs -p /dbs/llogdbs -o 0 -s 2000000
  • 迁移与添加日志(示例):
    • 物理日志迁移与调整:onparams -p -s 1999000 -d plogdbs -y
    • 添加逻辑日志:onparams -a -d llogdbs -s 100000
  • 重要提示:
    • root dbspace 的位置与初始 chunk 大小在初始化后不可更改,除非重做初始化(会清空数据)
    • 初始阶段可将逻辑日志设为较小值,后续按事务量追加或迁移;物理日志建议放置在独立设备,容量可从约 300MB–500MB 起步,减少检查点抖动。

四 网络与防火墙

  • 服务端口:在 /etc/services 中为实例定义唯一端口(如 1536/tcp),保持与 sqlhosts 中一致
  • 防火墙放行(Debian 常用 firewalld/ufw):
    • firewalld:firewall-cmd --permanent --add-port=1536/tcp;firewall-cmd --reload
    • ufw:ufw allow 1536/tcp
  • 本地解析:确保 /etc/hosts 包含服务器主机名与 IP 的映射,避免名称解析失败
  • 连接测试(客户端):
    • 使用 isql:isql -v ifxserver username password
    • JDBC 示例:jdbc:informix-sqli://ifxserver:1536/mydb:INFORMIXSERVER=ifxserver

五 运行维护与安全加固

  • 启停与状态检查:
    • 启动:oninit(或按需使用 oninit -v 等选项)
    • 快速状态:onstat -i;网络监听:onstat -g nif
  • 系统服务集成:
    • /etc/rc.local 或 systemd 服务单元中加入环境变量设置与 oninit 启动,确保重启后自动拉起
  • 安全建议:
    • 仅开放必要端口;限制数据库主机的入站来源
    • informix 账号设置强口令与最小权限;按需启用审计(如 ADTMODE 等审计参数)
    • 分离 root 与 informix 职责,谨慎使用 root 直接操作实例

0