IISで800a01fbエラー → IISのアプリケーションプールをリサイクル
不定期的にIISログに以下のエラーが吐かれるようになった。
800a01fb|例外が発生しました。:_'GetDatabaseFromPool'
環境は、windows2003Server + ASP(.netじゃない) + Oracle10.2
「GetDatabaseFromPool」でググってもあんまり情報が出てこない。
「800a01fb」で調べると似たような事例が見受けられる。
が、原因は不明。
ミドルウェアはoo4oを使っているので、オラクルに問い合わせると、
有効な情報はない、MSにも聞いてくれ、とのこと。
とりあえず、IISを再起動すると現象が回復するという情報を得たので、
手始めにアプリケーションプールのリサイクルをしてみたら、現象回復。
原因は分からないが、対処としてログを監視し、発生したらリサイクルすることとした。
tailコマンドはWindows OSの標準コマンドではないので、リソース・キット導入。
参考:http://www.atmarkit.co.jp/fwin2k/win2ktips/423tail/tail.html
参考:http://technet.microsoft.com/ja-jp/library/cc737438%28WS.10%29.aspx
エラーコードを検索してあったら、指定したプール(fuga)をリサイクル。
tail -f \\hogehoge\Z$\IIS\W3SVC1\ex091231.log | find "800a01fb" && iisapp /a "fuga" /r
が、動かない。。。
処理を分けて
tail -f \\hogehoge\Z$\IIS\W3SVC1\ex091231.log | find "800a01fb"
と
find "800a01fb" && iisapp /a "fuga" /r
は、それぞれ動くんだけど、3つ連結させると find で止まってリサイクルされない。
何故?
そもそも発生する原因を特定出来ていないし。。。
ダレカタスケテ。