写在开头:
初来乍到,开头第一帖,以后有时间就过来转转,可以肯定的说不可能保持每天都有更新,但会尽量把自己遇到的一些小案例拿过来供大家参考。其实平时遇到的问题,除了产品自身的bug,只要我们足够细心,按照平时处理问题的步骤,一般的问题应该很快就能赢任而解的。
今天所说的问题就是一个INFORMIXDIR的问题,一个同事在生产上的一台Linux上新安装了一个informix11.5的实例,oninit -ivy初始化实例的时候报INFORMIXDIR : /usr/informix can not found.
他找到了我,说profile文件里面已经定义好了INFORMIXDIR是/home/db/informix,在informix用户下echo $INFORMIXDIR显示的也是/home/db/informix,可是为什么初始化不成功,为什么去找/usr/informix。INFORMIXDIR的问题,可以肯定的说,就是系统环境变量的事情,set | grep -i informix,发现是有INFORMIXDIR和INFORMIXSERVER的,执行oninit -ivy命令问题依旧,手工export INFORMIXDIR=/home/db/informix,然后执行 oninit -iv 这次错误没有了,开始执行初始化步骤,终端上出现了让确认的显示信息,现在的问题就已经很明显了,肯定是.bash_profile里面定义的问题,仔细检查是否有拼写错误,或变量没有export,检查后,果然是所有的informix参数没有export,而informix初始化脚本使用的INFORMIXDIR变量都有一个默认值,就是当变量为空时,会默认为/usr/informix,所以就会出现开头初始化失败的现象。而最开始使用set输出来看环境变量的方法是错误,如果开始就使用env | grep -i informix,那么马上就会发现问题的所在了,这就是本地变量和环境变量的区别。
收起