Informix Linux(CentOS 7) 安装步骤
前言
接触Linux不久,因为工作需要安装Informix做测试,写这个博客一方面是希望给跟我遇到相同问题的朋友提供解决方法,第二也是为了记录安装过程,以免下次再遇到问题不知如何解决,有写的错的地方请见谅,也欢迎大家指出不对的地方。
安装环境
- Linux版本:CentOS-7-x86_64-DVD-1908.iso
- 虚拟机:VMware
- informix安装包:iif.12.10.FC12DE.linux-x86_64.tar
- informix服务名: tramsserver (这个可以随意指定)
- JDBC下载:https://download.csdn.net/download/hjn0618/12271920
安装步骤
整个安装过程都以root用户运行
- 创建informix用户
groupadd informix
useradd -g informix informix
- 创建安装目录: “/opt/informix”
mkdir /opt/informix
chown informix.informix /opt/informix
- 设置环境变量,直接命令行执行即可
INFORMIXDIR=/opt/informix
export INFORMIXDIR
PATH=$PATH:$INFORMIXDIR/bin
export PATH
我是直接编辑的
vi /etc/profile
source /etc/profile
- 解压安装包
tar xvf iif.12.10.FC12DE.linux-x86_64.tar
- 执行"ids_install"进行安装
./ids_install
选择非GUI模式安装,其他根据提示保持默认选项
安装后的配置
- 切换到informix用户
su - informix
- 修改 "~/.bash_profile"文件,加入如下环境变量
export INFORMIXDIR=/opt/informix
export INFORMIXSQLHOSTS=/opt/informix/etc/sqlhosts
export ONCONFIG=onconfig.tramsserver
export INFORMIXSERVER=tramsserver
export PATH=$INFORMIXDIR/bin:.:$PATH
使修改生效
. ~/.bash_profile
或者
source ~/.bash_profile
- 拷贝"onconfig"配置模板
cd $INFORMIXDIR/etc
cp onconfig.std onconfig.tramsserver
- 编辑"onconfig.tramsserver",修改或添加以下内容
DBSERVERNAME tramsserver
PHYSDBS rootdbs
ROOTNAME rootdbs
ROOTPATH /opt/informix/data/rootdbs
- 创建"rootdbs"数据库空间文件
cd /opt/informix/
mkdir data
cd data
touch rootdbs
chmod 660 rootdbs
注意:“rootdbs”文件权限必须是:660
- 修改"/opt/informix/etc/sqlhosts"文件
tramsserver onsoctcp -hostname sqlexe
‘-hostname’ 是你主机的名字,用hostname的命令去查看或者使用127.0.0.1
这样配置可能只能本地使用数据库
我写入的是
tramsserver olsoctcp * ol_informix1210
这样可以被其他PC访问,没有测试不太清楚。。。
参考:https://www.cnblogs.com/voyager-fu/p/9522961.html
重新初始化数据库
- 停止当前数据库进程
onmode -ky
可能会报错,应该是第一次安装没开启过服务的原因,不用理会继续执行
错误信息看下图
- 初始化数据库
oninit -vy
这时候我这里又报错了,导致我不能正常使用数据库,折腾了很久,各种百度解决了
查看错误日志
view /opt/informix/tmp/online.log
或者
onstat -m
显示共享内存已经存在,去查看下内存信息
先切换到root用户
su root
查看内存信息
ipcs
释放被占用的内存区间
ipcrm -M shmkey 移除用shmkey创建的共享内存段
ipcrm -m shmid 移除用shmid标识的共享内存段
ipcrm -Q msgkey 移除用msqkey创建的消息队列
ipcrm -q msqid 移除用msqid标识的消息队列
ipcrm -S semkey 移除用semkey创建的信号
ipcrm -s semid 移除用semid标识的信号
切回到informix用户
继续初始化数据库,无奈又报错了。。。。心中无数草泥马跑过
继续查看错误日志
应该是权限的问题,瞎试一下把!死马当活马医了!
touch /opt/informix/tmp/demo_on.rootdbs
chmod 660 /opt/informix/tmp/demo_on.rootdbs
继续初始化数据库!终于喜闻乐见的"succeccded"和"complete"出现了!
- 连接并使用数据库
dbaccess
终于可以看到和新建数据库了
参考文档
- [原帖]:https://blog.csdn.net/duanbeibei/article/details/70853491
- [sqlhosts文件解释1]:https://blog.csdn.net/david_ifx/article/details/89340962
- [sqlhosts文件解释1]:https://blog.csdn.net/qq_39742146/article/details/90235984
- [内存处理]:https://blog.csdn.net/bluehawksky/article/details/39804551
- [错误代码]:https://www.docin.com/p-1995873714.html
- [一些常见的问题]:https://blog.csdn.net/jfkidear/article/details/6777730