關鍵字:SAM+ 數據庫自動備份、失效
故障現象描述
RG-SAM+ 數據庫自動備份功能失效:開啟自動備份功能,但對應磁盤下未生成備份數據庫文件

故障排查分析
- SAM+每日凌晨2點定時任務會隊列執行數據庫備份等任務,具體執行結果會記錄在運維日志里。
- 查看現場運維日志,發現定時任務只執行到某一天,之后就未打印執行日志。判斷是此時定時任務異常了未執行,則需要進一步分析產品定時任務執行情況。
- 查看系統日志中有提示系統定時器超時而終止。(正常是提示“系統定時器執行完畢!”)

- 查看底層對應時間的LOG日志:
- LOG日志分析方法:先用“系統定時器超時而終止”過濾,在用“billingScheduler_Worker”任務線程去過濾

- 發現提示“系統定時器超時而終止“之前的一個任務:用戶用網使用詳情(時長)定時器執行時間過長,且結束時間為10:22,執行時間超過3小時,進而整個定時任務截止。
- 備注定時任務機制說明:5、6兩個任務是在凌晨2點開始執行,到9點08秒截止,已開始的任務會繼續執行完畢。
- 針對運維日志里“數據庫定時任務”。如果有一個任務執行超過3小時,只停這一個任務,不會打印截止日志。
- 截止日志只對于開始新任務時判斷時間是否超過9點08秒,超過了就打印截止,就比如下圖,用戶用網使用詳情這個任務就沒有執行直接被截止了。

- 針對用戶用網使用詳情(時長)定時器執行時間過長的可能原因分析:
備注:可以拿回現場數據庫后臺測試執行時間。
- 已檢查現場服務器CPU內存滿足安裝要求,磁盤IO穩定在300M/S以上,數據庫分配的最大可用內存是物理內存的一半,所以排除。
- 該任務是基于用戶上網明細表做統計,將ONLINE_DETAIL統計這個表插入到AGGR_RECORD這個表里,需要檢查索引是否有丟失,可以參考如下,有少的話說明有存在丟失,可以聯系400獲取解決對策。(客戶現場通過核查也排除這一點)

故障根因說明
軟件問題:
RG-SAM+ 數據庫自動備份功能失效的根因是“凌晨2點的數據庫自動備份”定時器被截斷未正常執行,截斷的原因是“用戶用網使用詳情定時器”定時器執行時間過長導致整個系統定時器截止,執行時間過長的原因是該任務聚合邏輯存在缺陷,在大數據情況下執行非常慢,超過產品限制的3小時。
故障解決方案
更新補丁:將原來只有1個線程執行凌晨定時任務調整為3個線程并行處理,提升執行速率
該補丁已合并至4.22P6標準版本,若是4.22P3版本需要打上補丁合集20231025及以上(補丁下載)
如遇故障無法定位解決可轉:售后閃電兔 處理