在啓動windchill服務的時候,是不是經常會出現MethodServer 無法啓動的情況,在排查時,經常會發現沒有日誌,什麼表面問題都無法定位信息。
下面介紹幾個常見的排查方法
- 場景一
ServerManager 可以啓動,但處於掛起狀態。methodserver沒有啓動反應
官方知識庫
Server Manager日誌中的報錯如下:
2015-06-29 13:46:21,101 INFO [main] wt.server.manager.startup - ServerManager bound in registry.
2015-06-29 13:46:21,108 INFO [main] wt.manager.CacheMasterNegotiator - Cache master stub name: CacheMaster
2015-06-29 13:46:21,108 INFO [main] wt.manager.CacheMasterNegotiator - Using low-locking algorithm
- 場景一問題定位:
1.HOSTS 文件中的服務器別名或服務器名稱配置映射到了錯誤的IP地址
2.連接數據庫服務器失敗
- 場景一解決辦法
1.查看host文件
2.如果是數據庫,可能是由於數據庫無法識別監聽,可以使用plsql 看是否能使用db.properties 文件中的配合進行連接數據庫,
如果數據無法連接,但用sqlplus可以連接,可能是因爲TNS的description有問題, 無法識別host,可以將TNS串的host修改爲127.0.0.1嘗試下。
- 場景二
methodServer 一閃而過,後臺沒有日誌,ServerManager可以啓動,且沒有異常,沒有其他任何異常信息。
這個問題是比較頭疼的,因爲沒有切入點去找到有用的信息
- 場景二問題定位: -
因爲沒有直接的信息反饋,methodServer 一閃而過,說明MS 是可以啓動的。
官方知識庫定位方式:
1.打開methodServer 和 ServerManager日誌
針對服務器管理器
編輯<Windchill>/codebase/log4j.properties 文件,添加log4j.logger.wt.manager.ServerLauncher=ALL
在Windchill外殼程序上執行 Windchill start
這樣會輸出啓動服務器管理器的完整的命令行到終端上
針對方法服務器
編輯<Windchill>/codebase/WEB-INF/log4jServerManager.properties 文件,添加log4j.logger.wt.manager.ServerLauncher=ALL
在Windchill外殼程序上執行 Windchill start
當服務器管理器嘗試啓動方法服務器時,這樣會輸出啓動完整的命令行到 服務器管理器 日誌
2.找到methodServer 和ServerManger的真實啓動方式
針對服務器管理器
Windchill外殼程序上執行以下命令
windchill wt.manager.BaseServerLauncher -p ServerManager
針對方法服務器
Windchill外殼程序上執行以下命令
windchill wt.manager.BaseServerLauncher -p MethodServer
3.拷貝以上命令輸出結果,在Windchill shell中,重新輸入命令
針對Microsoft Windows操作系統
cmd.exe /C start "ServerManager" /MIN "C:\ptc\Windchill_9.1\Java\jre\bin\java.exe" ... 修改爲 "C:\ptc\Windchill_9.1\Java\jre\bin\java.exe"...
針對Unix
xterm -title ServerManager -sb -sl 500 -e /opt/java1.6/jre/bin/java ... 修改爲 /opt/java1.6/jre/bin/java ...
輸出完第三步的命令之後,可以在Windchill shell中看到錯誤的異常信息,同時後臺會有異常打印。
場景二的定位方式可以適用於所有methodServer 或者 ServerMnaager不能啓動的情況