sysmasterが出来ない話
IDS 11.50.FC5を、Solaris 10 ( Intel 64 ) にインストールしていたら、
sysmasterデータベースが作れなくて、ちょっとあせりました。
Building 'sysmaster' database ...
Error building 'sysmaster database.
See '/tmp/buildsmi.1095'
こんな感じのエラーが出て、oninit -ivyで再実行しても3行目の数字が変わるくらいで結果は同じ。
チャンク自体の初期化は終わっているし、領域が足りないわけでもなさそうです。
しばらく調べていて、やっと原因がわかってきました。
今回の原因は、環境変数 PATHだったようです。
oninitは、チャンクの初期化を終了すると、sysmasterデータベースを作成するために、$INFORMIXDIR/etc/buildsmiというスクリプトを呼び出して実行します。この時、buildsmiがdbaccessなどのコマンドを呼び出せていないことがわかりました。
どうやら、oninitからbuildsmiを呼び出した時に、実行用のshellにて、環境変数 PATHを、初期状態にリセットしてしまっているために、$INFORMIXDIR/binがPATHから外れてしまっていたようです。
$ . /opt/IBM/informix/setpath.sh
$ echo $PATH
/usr/bin:/usr/openwin/bin:/usr/ucb:/opt/IBM/informix/bin
$ sh
$ echo $PATH
/usr/bin:/usr/openwin/bin:/usr/ucb
私が使っている.profileが、PATHを毎回「リ」セットしていたのが原因のようです。/etc/profileでも同じようなことをしている可能性がありますね。
INFORMIXの問題でなくてほっとしました。と、いいつつ、dbaccessなどのユーティリティは、
$INFORMIXDIR/bin/dbaccess
のように呼び出してもいいんじゃないの?と思いました。
関連記事