今天早上受開發團隊所托,把WAS從release5.1.0升級到fixpack5.1.1.7,升級策略如下:release5.1.0-fp5.1.1-511cf13。
按照redbook的指示在我大腦里面留下的深刻的印象,我把所有相關WAS的進程,包括instance、deploymanager、nodeagent都停了,但是安裝失敗,反復多次仍然不奏效。
先查log得知:
Exception: WUPD0248E: Fix pack update failure: The processing of fix pack was51_fp1_hpux, component plugins.http failed. See the log file /IBM/WebSphere/AppServer/logs/update/20070709_093535_was51_fp1_hpux_plugins.http_install.log for processing details.
后查log得知:
/IBM/WebSphere/AppServer//bin/mod_app_server_http.sl忙?無法讀寫導致更新??怪象疊出!!!
突然,靈光一閃,趕緊用ps -ef|grep httpd查看一下進程,發現apache雖然停止了,但是httpd instance殘留有,沒有釋放掉。趕緊大手大腳的把這些該死的掛死httpd instance進程一把kill -9掉。
然后安裝順風順水,平淡無奇了。
綜上所述,我的一點建議是,在進行WAS升級打補丁之前,請嚴格按照要求,對照問題,執行自檢:
1、應用服務器全部停掉了嗎?也就是WAS的instance,為java進程;
2、WAS的nodeagent進程停掉了嗎?其為java進程;
3、WAS的dmgr進程停掉了嗎?其為java進程;
4、IBM HttpServer停掉了嗎?請用ps -ef|grep root|grep httpd確認;
5、在IBM HttpServer停掉以后,請再確認有無掛死的httpd進程,也就是apache的httpd instance,子進程。請用ps -ef|grep httpd確認。
1、2、3可以簡單的使用ps -ef|grep root|grep java確認有無進程存在。
磨刀不誤砍柴工,執行以上五步檢查法之后,WAS升級打補丁的先決條件就有了保證!