利用 WLST (WebLogic Scripting Tool) 管理 WebLogic (下)

WLST 的進階使用方法

上篇介紹了 WLST 命令列的基本用法,本篇將介紹使用 .py 檔的方式,將執行的命令寫成 .py 檔,利用遠端的方式更自動化地管理 WebLogic。


啟動 Managed Server

編輯 .py 檔,檔名命名為 startManagedServer.py,放置於 <Oracle_Home>\user_projects\domains\base_domain 下,檔案內容如下:

connect('weblogic', 'P@ssw0rd', 't3://localhost:7001') # 連線 WLST
start('ManagedServer_1', 'Server', 't3://localhost:7001') # 啟動 Managed Server
exit() # 退出 WLST

可利用遠端電腦執行此檔案達成啟動 Managed Server,指令如下:

Windows

cd /d D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain
.\bin\setDomainEnv.cmd
java weblogic.WLST startManagedServer.py

或單行命令:

cd /d D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain && .\bin\setDomainEnv.cmd && java weblogic.WLST startManagedServer.py

結果:

Linux

cd /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
. ./setDomainEnv.sh
java weblogic.WLST startManagedServer.py

或單行命令:

cd /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin && . ./setDomainEnv.sh && java weblogic.WLST startManagedServer.py

關閉 Managed Server

編輯 .py 檔,檔名命名為 stopManagedServer.py,放置於 <Oracle_Home>\user_projects\domains\base_domain 下,檔案內容如下:

connect('weblogic', 'P@ssw0rd', 't3://localhost:7001') # 連線 WLST
shutdown('ManagedServer_1', 'Server', ignoreSessions='true', force='true') # 關閉 Managed Server
exit() # 退出 WLST

可利用遠端電腦執行此檔案達成關閉 Managed Server,指令如下:

Windows

cd /d D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain
.\bin\setDomainEnv.cmd
java weblogic.WLST stopManagedServer.py

或單行命令:

cd /d D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain && .\bin\setDomainEnv.cmd && java weblogic.WLST stopManagedServer.py

結果:

Linux

cd /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
. ./setDomainEnv.sh
java weblogic.WLST stopManagedServer.py

或單行命令:

cd /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin && . ./setDomainEnv.sh && java weblogic.WLST stopManagedServer.py

檢查伺服器狀態

編輯 .py 檔,檔名命名為 checkServersState.py,放置於 <Oracle_Home>\user_projects\domains\base_domain 下,檔案內容如下:

connect('weblogic', 'P@ssw0rd', 't3://localhost:7001') # 連線 WLST
serverList = ls('Servers', returnMap='true') # 列出所有伺服器
for server in serverList: state(server, 'Server') # 顯示伺服器狀態
exit() # 退出 WLST

可利用遠端電腦執行此檔案達成檢查伺服器狀態,指令如下:

Windows

cd /d D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain
.\bin\setDomainEnv.cmd
java weblogic.WLST checkServersState.py

或單行命令:

cd /d D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain && .\bin\setDomainEnv.cmd && java weblogic.WLST checkServersState.py

Linux

cd /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin
. ./setDomainEnv.sh
java weblogic.WLST checkServersState.py

或單行命令:

cd /opt/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/bin && . ./setDomainEnv.sh && java weblogic.WLST checkServersState.py

參考資料

  1. Error: Could not find or load main class weblogic.security.Encrypt
  2. Jython WLST using python threading module (Weblogic 10)