DB2V8にFixPakをあてたら自動起動しない設定になってしまったようなので、自動起動するように いろいろ頑張ってみました。
■ 現象
DB2V8にFixPakをあてたらDB2が自動起動しない。手動でdb2 start database managerすればOK。
■ 対策
# db2iauto -on db2inst1
でOK(かも)。障害モニター関連でいろいろやってたら知らないうちに起動するようになった(;゚Д゚)
■ 補足・障害モニターについて
DB2には障害モニターというものがあり、DB2のインスタンスが不慮の事故で止まってしまったときに 復活させる機能をうけもっているらしい。設定をいろいろいじっていたものの結局 よく分からないまま。以下メモ
■ db2fmcd
db2fmcdは障害モニターdb2fmd(DBのインスタンスごとに一つ作られる)の調整を行うデーモン。 inittabで設定されシステム起動時に自動起動される。inittabに登録するには次のように実行する。
# /opt/IBM/db2/V8.1/bin/db2fmcu -u -p /opt/IBM/db2/V8.1/bin/db2fmcd
■ db2fmd
障害モニター本体。db2fmcdから起動される?db2fmコマンドで設定を変更することができる。例えばインスタンスdb2inst1の 現在の設定は、/home/db2inst1/sqllib/fm.dev.localdomain.regなどで確認できる(devはホスト名)。
FM_ON = no # updated by db2fm FM_ACTIVE = yes # default START_TIMEOUT = 60 # default STOP_TIMEOUT = 60 # default STATUS_TIMEOUT = 20 # default STATUS_INTERVAL = 20 # default RESTART_RETRIES = 3 # default ACTION_RETRIES = 3 # default NOTIFY_ADDRESS = db2inst1@dev.localdomain # default
DBのインスタンスの他に、DASのインスタンスも存在している。それは、/home/dasusr1/das/fm.dev.localdomainで確認できる。
FM_ON = yes # default FM_ACTIVE = yes # default START_TIMEOUT = 60 # default STOP_TIMEOUT = 60 # default STATUS_TIMEOUT = 20 # default STATUS_INTERVAL = 20 # default RESTART_RETRIES = 3 # default ACTION_RETRIES = 3 # default NOTIFY_ADDRESS = dasusr1@dev.localdomain # default
IBMによるとFM_ON=yesかつFM_ACTIVE=yesのときだけ障害モニターが自動起動するとのことなので、 上記設定ではdasの障害モニターだけしか自動起動してない(のか?)。
で、上記設定でもdb2inst1のインスタンスは自動起動してる。自動起動してないときは、 db2fmcdがrootとdasusr1の二つのユーザーで起動してたみたいだけどそのせい? 謎は深まる( ´ー`)フゥー...