指令行工具問題
對與使用指令行工具相關的各種問題進行疑難排解。
在節點聯合期間, addNode.sh Script 或 BBOWADDN 工作失敗。
當您在 Red Hat Linux 機器上啟動應用程式伺服器並啟用 DEBUG 時,即會停用即時 (JIT) 編譯器
- 當伺服器定義是配置儲存庫的一部分時, startServer.sh 或 stopServer.sh 指令無法啟動或停止伺服器。
使用 Windows 服務時,不會指出伺服器何時已啟動。
使用一或多個% 字元作為參數值的一部分
- ADMU0125E: Change the clock of the new node to be within {0} minutes of the clock of the deployment manager聯合期間發生錯誤訊息
- stopServer 指令無法停止伺服器,因為系統無法建立連接器來連接無效的主機名稱。
在指令行上輸入密碼
在節點聯合期間, addNode.sh Script 或 BBOWADDN 工作失敗。
只有在自訂作業期間,在部署管理程式上執行 BBODCFGW 工作時,才會發生這個錯誤。 BBODCFGW 會將含有 Web 伺服器的未受管理節點新增至部署管理程式,導致來自基本伺服器的節點聯合失敗。
如果要修正這個問題,在將所有節點聯合到 Cell 之前,請勿在部署管理程式上配置 BBODCFGW 工作。 此外,在聯合所有節點之前,請勿將任何未受管理的節點新增至 Cell。 可以在受管理節點上配置 Web 伺服器,而不會有任何問題。
當您在 Red Hat Linux 機器上啟動應用程式伺服器並啟用 DEBUG 時,會停用即時 (JIT) 編譯器
當您在 Red Hat Linux 機器上啟動已啟用 Software Developer Kit (SDK) DEBUG 的應用程式伺服器時,即使 JIT 設為已啟用,也會停用即時 (JIT) 編譯器。 若要驗證此設定,請檢查 SystemOut.log 或 startServer.log 檔案。
請利用管理主控台來移除 Java 程序定義的下列 DEBUG 選項。 -Xdebug -Xnoagent
當伺服器定義是配置儲存庫的一部分時, startServer.sh 或 stopServer.sh 指令無法啟動或停止伺服器
startServer.sh webserver1 -nowaitstopServer.sh webserver1 -nowait沒有指示伺服器已在 Windows 上啟動
嘗試從指令行啟動已啟動的伺服器時,沒有指出伺服器已啟動且在執行中。 在 Windows 上執行 startManager.bat 時,在指令傳回之前會顯示下列輸出:
ADMU7701I: Because dmgr is registered to run as a Windows Service, the request to start
this server will be completed by starting the associated Windows Service.
執行 startServer.bat時,在指令傳回之前會顯示下列輸出:
ADMU7701I: Because server1 is registered to run as a Windows Service, the request to
start this server will be completed by starting the associated Windows Service.
執行 WASService.exe時,在指令傳回之前會顯示下列輸出:
Starting Service: service name
若要檢查伺服器是否已啟動或服務是否在執行中,請使用 serverStatus
server_name 指令或 WASService -status
service_name 指令。
在參數值中使用一或多個 % 字元
- 從 profile_root 目錄呼叫指令或 .bat 檔案 (例如 stopServer.bat ) ,且指令或 .bat 檔案包含對 installation_root 目錄中 .bat 檔案的呼叫,以及
- 在參數值中使用一或多個 % 字元
您必須使用兩個 two % 字元 (%%) 作為參數值中所包含的各個 % 字元, 以避免參數值中的 % 字元被作業系統消去。
例如,您要使用 was%admin 作為 -password 參數的值,您必須指定下列指令:
wsadmin.bat -username wsadmin -password was%%admin
來取代:
wsadmin.bat -username wsadmin -password was%admin
ADMU0125E: 將新節點的時鐘變更為在部署管理程式時鐘的 {0} 分鐘內
這個問題的暫行解決方法是將節點上的時間調整到部署管理程式的建議數量之內。 請驗證時區是否正確,以及時區內的時間是否正確。 若為 AIX 系統,如果節點系統上的時間是在部署管理程式五分鐘內,請檢閱 /etc/environment 檔中的 timezone 設定。 請驗證已正確設定 TZ= 內容。 例如,在「中部時區」中,它應該顯示為 TZ=CST6CDT。 如需相關資訊,請參閱 檔案參考手冊 網站的環境檔案小節。
stopServer 指令無法停止伺服器,因為系統無法建立無效主機名稱的連接器
- 在作業系統上停止伺服器處理程序 (例如,在 AIX、 HP-UX、 Linux或 Solaris 電腦上,發出 kill 指令)。
或
- 直接開啟 wsadmin 工具連線至伺服器的連接器埠,並針對伺服器的 MBean 呼叫
stop方法。 建議使用此方法,因為它容許循序關閉進行中的工作。- 發出下列指令以連接至伺服器:
wsadmin -host host_name -port connector_port -conntype [SOAP | RMI ] -user user_ID -password password - 在伺服器的 MBean 上呼叫停止方法。 例如,在 Jython 中,您可以使用:
serverMBean = AdminControl.completeObjectName("*,type=Server") AdminControl.invoke(serverMBean, "stop")
- 發出下列指令以連接至伺服器:
在指令行輸入密碼
指定環境變數及目錄表示法時,作業系統會有一些差異。 使用 Windows 指令行時,將環境變數的 $variable 取代為 %variable% ,並將目錄路徑中的每一個正斜線 (/) 取代為反斜線 (\)。 如果您在 Windows 系統上使用 Bash Shell ,則可以使用 UNIX 慣例。
在 Unix 類型作業系統上,通常最好一律以雙引號 ("") 封裝與所有標籤相關聯的字串值。 您也需要使用 '\' 字元來跳出下列字元 (如果它們出現在字串值中): '!'、'\'、'"'、'`'。 這將防止部分指令行 Shell 解譯這些值內的特定字元。
gsk7capicmd -keydb -create -db "/tmp/key.kdb" -pw "j\!jj" stopserver server1 -username fn_wasadmin -password mypass35 -trace stopserver server1 -username fn_wasadmin -password 'mypass35' -trace - 對於包含單引號或雙引號的字串,請使用其他字元來以引號括住字串。 例如,如果您指定
bin/ws_ant.sh -f ant.xml -Dsystem.property='"a quoted String"',則內容會設為 "a quoted string"。 同樣地,如果您指定bin/ws_ant.sh -f ant.xml -Dsystem.peoperty="'a quoted string'",則內容會設為 'a quoted string'。您不能在同一字串中同時包含單引號和雙引號。
- 對於包含反引號的字串,請使用單引號括住字串,並以反斜線跳出反引號。 例如,如果您指定
bin/ws_ant.sh -f ant.xml -Dsystem.property='\`a quoted string\`',則內容會設為 `a quoted string`。 - 若為包含反斜線的字串,請以單引號括住字串,並以反斜線跳出。 例如,如果您指定
bin/ws_ant.sh -f ant.xml -Dsystem.property='c:\\Program Files\\IBM'。 內容設為 c:\Program Files\IBM。 - 對於包含錢幣符號的字串,請以單引號括住字串,並以反斜線跳出該字串。 例如,如果您指定
bin/ws_ant.sh -f ant.xml -Dsystem.property='\$3.99',則內容會設為 $3.99。
如果這些步驟都無法修正您的問題,請查看可用的線上支援 (提示和要訣、TechNotes 及修正程式) ,以查看是否已識別並記載問題。 如果您在那裡找不到列出的問題,請聯絡 IBM 支援中心。