Apr 19 09:25:20 oracle01 logger: (Oracle CRSD is running. CRSD must be terminated before another CRSD can be started) Apr 19 09:25:20 oracle01 su(pam_unix)[3404]: session opened for user oracle by (uid=0) Apr 19 09:25:20 oracle01 su(pam_unix)[3404]: session closed for user oracle Apr 19 09:25:20 oracle01 logger: (Oracle CRSD is running. CRSD must be terminated before another CRSD can be started) Apr 19 09:25:20 oracle01 init: Id "h3" respawning too fast: disabled for 5 minutes
init.crsdは起動時にときどき死ぬが、そのときにPIDファイルが残っていて再起動が必ずコケる。Oracleの二重のバグ。
init.crsdの起動オプションは3つ
- start 起動するフラグを立てる(/etc/init.d/init.crsから)
- stop 停止する(/etc/init.d/init.crsから)
- run 起動する(/etc/inittab から)
startを実施すると、再起動フラグが立つ。
CRSの本体はinittabで起動する
h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null
init.crsd runは、起動時にPIDファイルを確認し、存在すれば(すでに起動していると判断し)エラーを吐いて終了する。
このとき、再起動フラグが立っていたら起動済みのinit.crsdを殺し、PIDファイルも消し、次のinit.crsd runで正常に起動するように準備する。
/etc/init.d/init.crsd stop /etc/init.d/init.crsd start
最長で5分くらい待てば正常に起動する。はず。