weblogic中介軟體版本遷移常見問題

jaymarco發表於2020-11-05

一、前言

接下來介紹專案中weblogic中介軟體在遷移過程中碰到的一系列坑,並提供相應解決辦法。

二、weblogic常見問題

問題 1 WebLogic Managed Server 無法連線連線 Admin Server

現象: WebLogic Managed Server Cannot Communicate With Admin Server Because of Wrong IP Address Used                    

問題原因:

主機名未配置到 hosts 檔案

  解決方法:

hosts 檔案配置 ip 主機名

  問題 2 weblogic11g 部署應用 bea-240003 失敗

現象:

<Jan 7, 2014 12:09:10 PM GMT+08:00><Error><Console><BEA-240003><Console encountered the following error java.sql.SQLException: Io exception: Got minus one from a read call

問題原因:

新建連線池失敗,主要因為 db 的監聽對中介軟體主機 ip 限制導致

解決方法:

db 監聽中加入監聽 ip 即可解決

  問題 3 :使用 64bit jdk 但沒有正常載入 64bit 的效能包

現象:

Unable To Load Performance Pack, Error code: BEA-000438

問題原因:

預設效能包載入失敗

解決方法:

Set the following in commEnv.sh: 

JAVA_USE_64BIT=true

SUN_ARCH_DATA_MODEL="64"

  問題 4 weblogic 升級過程中出現大量中文亂碼問題

現象:

has wrong version 50.0, should be 48.0

問題原因:

升級後主機預設字符集不一致

解決方法:                           

在啟動 weblogic 時加上 JAVA_OPTIONS=-Dfile.encoding=GBK 解決以上問題

startweblogic,cmd 中加上

if "%WLS_REDIRECT_LOG%"=="" (

  echo Starting WLS with line:

  echo %JAVA_HOME%\bin\java %JAVA_VM%

%MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME%

  -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy

 %PROXY_SETTINGS% %SERVER_CLASS%

  %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS%

 %JAVA_OPTIONS% -Dfile.encoding=GBK -Dweblogic.Name=%SERVER_NAME%

   -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy

 %PROXY_SETTINGS% %SERVER_CLASS%

) else (

問題 5 weblogic11g 無法啟動,報 Security:090399

現象:

啟動失敗,報如下資訊:

There are 1 nested errors:

weblogic.security.service.SecurityServiceRuntimeException: [Security:090399]Secu

rity Services Unavailable

        at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.do

BootAuthorization(CommonSecurityServiceManagerDelegateImpl.java:916)

        at weblogic.security.service.CommonSecurityServiceManagerDelegateImpl.in

itialize(CommonSecurityServiceManagerDelegateImpl.java:1050)

        at weblogic.security.service.SecurityServiceManager.initialize(SecurityS

erviceManager.java:875)

        at weblogic.security.SecurityService.start(SecurityService.java:141)

        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)

        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

> 

<2013-9-29 下午 03 00 03 CST><Notice><WebLogicServer><BEA-000365><Server

state changed to FAILED>

<2013-9-29 下午 03 00 03 CST><Error><WebLogicServer><BEA-000383><A critic

al service failed. The server will shut itself down>

<2013-9-29 下午 03 00 03 CST><Notice><WebLogicServer><BEA-000365><Server

state changed to FORCE_SHUTTING_DOWN>

  問題原因:

當機器存在多個網路卡時,伺服器可能會無法確認選擇正確的介面卡,所以注意在新建域的時候監聽地址使用IP 地址而不要使用域名地址,如不要使用localhost

解決方法:

修改 config.xml 以下加粗內容:

<server>

<name>AdminServer</name>

<ssl>

<enabled>false</enabled>

</ssl>

<listen-address> 172.16.168.122</listen-address>

</server>

  問題 6 weblogic 使用資料夾模式部署應用失敗

現象:

java.io.IOException: [DeploymentService:290066]Error occurred while downloading files from admin server for deployment request "1,386,836,887,172". Underlying error is: "null"

at weblogic.deploy.service.datatransferhandlers.HttpDataTransferHandler.getDataAsStream(HttpDataTransferHandler.java:86)

at weblogic.deploy.service.datatransferhandlers.DataHandlerManager$RemoteDataTransferHandler.getDataAsStream(DataHandlerManager.java:153)

at weblogic.deploy.internal.targetserver.datamanagement.AppDataUpdate.doDownload(AppDataUpdate.java:39)

問題原因:

主要是因為應用程式過大,或者程式巢狀過深,小檔案太多等原因導致從admin server 下載程式時出錯

解決方法:

1. 使用 external_stage 方法:

The Administration Server does not copy deployment files. Instead, the Administrator must ensure that deployment files are distributed to the correct staging directory location before deployment (for example, by manually copying files prior to deployment). 

With external_stage deployments, the Administration Server requires a copy of the deployment files for validation purposes. Copies of the deployment files that reside in target servers' staging directories are not validated before deployment.

詳細請參考:

即把應用程式分別複製到相應的機器上,然後選擇 external_stage 模式

2. 把程式打包成 war 或者 ear 檔案,這樣由於應用程式傳輸時是作為一個檔案傳輸的,所以一般不存在太大問題。

                  

有需要的朋友可以關注我的公眾號,文章每日一更



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2732497/,如需轉載,請註明出處,否則將追究法律責任。

相關文章