天天看點

Weblogic BEA-141281 unable to get file lock, will retry 故障處理

今天兄弟機關的一台應用伺服器需要從測試環境移交到機房并修改ip,在移交前關閉了應用伺服器,在移交後啟動weblogic時出現了問題,weblogic程序起來了,但是控制台進不了不能修改資料源設定(也就是修改jdbc連接配接串)。操作下如下:

手動執行啟動腳本(但這裡其實另一個同僚已經執行過一次)

因為輸出日志被重定向到了日志檔案(47ggzj.log)中,是以這裡沒有顯示完整的日志資訊。

抓取java程序來判斷是否weblogic已經啟動

從上面的資訊看出現了兩個weblogic程序(pid為11933,14675)在運作,這是因為兩個同僚都手動執行了一次啟動腳本。但登入不了weblogic控制台,如是檢視weblogic日志檔案。

[root@cdydtest base_domain]# cat 47ggzj.log

<nov 19, 2015 3:10:34 pm cst> <info> <security> <bea -090905> <disabling cryptoj jce provider self-integrity check for better startup performance. to enable this check, specify -dweblogic.security.allowcryptojdefaultjceverification=true>

<nov 19, 2015 3:10:34 pm cst> <info> <security> <bea -090906> <changing the default random number generator in rsa cryptoj from ecdrbg to fips186prng. to disable this change, specify -dweblogic.security.allowcryptojdefaultprng=true>

<nov 19, 2015 3:10:35 pm cst> <info> <weblogicserver> <bea -000377> <starting weblogic server with java hotspot(tm) 64-bit server vm version 16.3-b01 from sun microsystems inc.>

<nov 19, 2015 3:10:45 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:10:55 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:11:05 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:11:15 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:11:25 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:11:35 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:11:45 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:11:55 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:12:05 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:12:15 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:12:25 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:12:35 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:12:45 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:12:55 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

<nov 19, 2015 3:13:06 pm cst> <info> <management> <bea -141281> <unable to get file lock, will retry ...>

從上面消息可以看到不能獲得檔案鎖,雖然weblogic程序已經在運作,但是不能執行任何操作。這裡出現這個問題的原因是因為需要修改jdbc連接配接,因為資料庫伺服器的ip位址修改了,而原來在weblogic中配置的jdbc并沒有修改,那麼在啟動weblogic時,就會一直嘗試連接配接,在這時weblogic服務是沒有成功啟動的,也登入不了控制台,但嘗試連接配接達到weblogic缺的次數後,就會放棄嘗試連接配接而執行後續的啟動操作,但這需要等待一定的時間,而這時業務人員說不能登入系統,一位同僚如是登入weblogic控制不能登入,如是再次執行了一次啟動腳本,是以出現了不能獲得檔案鎖的問題。現在的處理方法是kill掉這兩個weblogic程序,并删除被鎖定的adminserver.lok檔案,再次執行weblogic啟動腳本就能正常啟動。

删除被鎖定的adminserver.lok檔案

手動執行啟動腳本

檢視日志資訊