确保Linux系统满足Informix的最低硬件要求:至少750MB磁盘空间、256MB内存(服务器环境建议4GB以上RAM);操作系统需为支持的发行版(如Red Hat Enterprise Linux、SUSE Linux Enterprise Server或Oracle Linux)。
groupadd informix
useradd -g informix -d /opt/informix -m informix
passwd informix
mkdir -p /opt/informix/storage
chown -R informix:informix /opt/informix
chmod 755 /opt/informix
编辑informix用户的~/.bash_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使变量生效。
从IBM官方网站下载适用于Linux的Informix安装包(如ids-11.70.FC7TL.linux-x86_64.tar),解压至/opt/informix:
tar -xvf ids-11.70.FC7TL.linux-x86_64.tar -C /opt/informix
切换至informix用户,执行安装脚本:
cd /opt/informix
./ids_install
按照向导提示完成安装(选择“典型安装”即可满足大多数场景)。
复制默认配置模板并重命名:
cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.ifxserver
编辑onconfig.ifxserver,修改关键参数:
ROOTPATH=/opt/informix/storage/rootdbs # Root数据库路径
DBSERVERNAME=ifxserver # 数据库服务器名(需与INFORMIXSERVER一致)
NETTYPE=soctcp,1,50,CPU # 网络类型(TCP/IP,1个网络VP,50个连接队列)
SHMVIRTSIZE=80000 # 共享内存初始大小(80000页,约64MB)
创建Root数据库文件并设置权限:
cd /opt/informix/storage
touch rootdbs
chown informix:informix rootdbs
chmod 660 rootdbs
编辑/etc/services文件,添加Informix专用端口(默认1526):
echo "sqlexec 1526/tcp # Informix SQL执行端口" >> /etc/services
echo "sqlexed 1528/tcp # Informix辅助执行端口" >> /etc/services
编辑$INFORMIXDIR/etc/sqlhosts.ifxserver,配置网络连接(以TCP/IP为例):
ifxserver_tcp onsoctcp linux 1526
(ifxserver_tcp为连接别名,linux为主机名,1526为端口号)。
执行oninit命令初始化数据库(首次启动需加-i参数):
oninit -ivy
若看到“Database server is up and running”提示,说明启动成功。
使用onstat命令查看数据库状态:
onstat -i # 查看实例信息
onstat -d # 查看dbspace列表
onstat -p # 查看性能指标
若需扩展存储,可创建额外的dbspace(如datadbs1):
cd /opt/informix/storage
touch datadbs1
onspaces -c -d datadbs1 -p /opt/informix/storage/datadbs1 -o 0 -s 200000 -k 8k
(-d为dbspace名,-p为物理路径,-s为大小(200000页,约1.6GB),-k为页大小(8KB))。
编辑/etc/pam.d/system-auth文件,添加密码策略:
password requisite pam_cracklib.so retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
(要求密码长度≥8,包含数字、大写字母、小写字母和特殊字符)
在system-auth中添加账户锁定规则:
auth required pam_tally2.so deny=6 onerr=fail no_magic_root unlock_time=1800 even_deny_root root_unlock_time=1800
(连续失败6次锁定30分钟)
编辑$INFORMIXDIR/aaodir/adtcfg文件,开启审计日志:
ADTMODE 7 # 记录所有操作(读、写、更新等)
firewall-cmd --add-port=1526/tcp --permanent命令;