OGG Director 基於 WebLogic 運行,Web 界面能登入但數據停滯不刷新(顯示舊時間戳),或報「Error 500 Internal Server Error」,通常由以下兩類底層問題引起。本文給出精準排查步驟與修復命令。
$DIRECTOR_HOME/domain/servers/ 中出現:
WebLogic 為 JMS 非持久消息創建基於文件的頁面存儲,路徑通常為:
$DIRECTOR_HOME/domain/servers/
當 JVM 內存不足時,消息寫入此目錄。若目錄文件損壞、權限錯誤、磁盤滿、文件句柄耗盡,JMS 服務掛起,導致 Director Web 無法獲取實時監控數據。
$DIRECTOR_HOME/bin/stopDirector.shmv $DIRECTOR_HOME/domain/servers//tmp $DIRECTOR_HOME/domain/servers//tmp.bak.$(date +%F) rm -rf $DIRECTOR_HOME/domain/servers//tmp $DIRECTOR_HOME/bin/startDirector.sh原理:WebLogic 啟動時會自動重建乾淨的 tmp 目錄和 JMS 頁面存儲,恢復消息流轉。
Director 內部數據庫(通常是嵌入式 Derby 或外接 Oracle)中的以下表隨時間無限增長:
ACONPROCSBSTATSENTRYBLOGENTRYBJMS_* 系列表表行數達到百萬/千萬級,查詢緩慢、索引失效、事務日志暴漲,導致 Web 請求超時、Hang 住。
-- 在 Director 內部數據庫執行(建議維護窗口)
TRUNCATE TABLE ACONPROCSB;
TRUNCATE TABLE STATSENTRYB;
TRUNCATE TABLE LOGENTRYB;
TRUNCATE TABLE JMS_MESSAGES;
TRUNCATE TABLE JMS_STATE;
-- 其他 JMS_* 表視情況清理
自動化建議:創建數據庫排程作業(如 Oracle DBMS_SCHEDULER、Derby 觸發器或外部 cron + sqlplus),**每天/每週** 執行上述 TRUNCATE,保持表體量可控。
| 檢查項 | 頻率 | 工具/命令 |
|---|---|---|
| Director Web 頁面刷新時間是否當前 | 每班次 | 人工巡檢 / 監控腳本爬蟲 |
| WebLogic 域日志是否有 BEA-040123 | 每日 | grep "BEA-040123" domain.log |
| tmp 目錄大小/文件數 | 每週 | du -sh tmp; find tmp -type f | wc -l |
| Director 內部表行數 | 每月 | SELECT COUNT(*) FROM ACONPROCSB 等 |
| 磁盤空間 $DIRECTOR_HOME | 每日 | df -h |
OGG Director Web Hang/500 本質是 **WebLogic JMS 頁面存儲故障** 或 **內部監控表膨脹**。前者通過「停服、備份、刪除 tmp、重啟」標準化修復;後者通過**定期 TRUNCATE 核心表**徹底根治。建立巡檢機制,將故障消滅在用戶感知之前。