高效能與高穩定性、企業核心服務不中斷
解決Oracle資料庫崩潰,緯謙協助國際知名航空公司加速資料庫效能
當今,運輸物流業為全球貿易及旅遊的核心基礎,隨著經濟發展、供應鏈需求激增,涵蓋陸、海、空的運輸都面臨著效率優化及高穩定性的難題。
客戶背景與需求
資料庫異常,導致航班調度與App全面停擺
國際知名航空公司的數據庫崩潰和App突然停擺,嚴重影響乘客服務系統和航班調度問題,造成客戶業務陷入停滯,整個公司陷入一片混亂。緯謙科技甲骨文團隊接到航空公司的緊急求助電話,迅速集結並通過遠程連接進入客戶的數據庫系統,發現Oracle RAC系統回報為相當棘手的ORA-04031 錯誤,經過一番緊急排查及快速診斷,查找出問題根源為Shared Pool不足,導致記憶體分配失敗,造成數據庫和App無法正常運行。
挑戰與突破
挑戰一、記憶體使用分析的複雜性
數據庫記憶體使用情況複雜,識別具體導致記憶體分配失敗的原因需要深入分析和大量數據支持。
挑戰二、業務中斷風險
在調整記憶體參數和清理無效對象的過程中,可能會對航空業務操作造成短暫中斷,期間需要技術團隊與客戶密切協調,選擇合適的時間進行操作。
挑戰三、進行記憶體監控
建立和實施新的記憶體監控機制需要一定的時間和培訓,對於客戶的技術團隊來說是一大挑戰。
數據庫記憶體使用情況複雜,識別具體導致記憶體分配失敗的原因需要深入分析和大量數據支持。
挑戰二、業務中斷風險
在調整記憶體參數和清理無效對象的過程中,可能會對航空業務操作造成短暫中斷,期間需要技術團隊與客戶密切協調,選擇合適的時間進行操作。
挑戰三、進行記憶體監控
建立和實施新的記憶體監控機制需要一定的時間和培訓,對於客戶的技術團隊來說是一大挑戰。
解決方案
為了迅速解決ORA-04031 錯誤,緯謙科技甲骨文團隊決定用RAC Rolling 動態調整來增加SGA的大小。
- 記憶體使用分析:
首先,透過AWR Report協助客戶分析數據庫記憶體使用情況,識別記憶體分配失敗的具體原因。
- 調整記憶體參數:
建議並協助客戶調整數據庫記憶體參數,如SGA_MAX_SIZE和SGA_TARGET,以確保有足夠的記憶體可用。
修改 RAC instance 1
ALTER SYSTEM set sga_max_size = 30G scope=spfile sid='PRMP1';
ALTER SYSTEM set sga_target= 30G scope=spfile sid='PRMP1';
srvctl stop instance -d PRMP -i PRMP1 -stopoption immediate;
srvctl start instance -d PRMP -i PRMP1
修改 RAC instance 2
ALTER SYSTEM set sga_max_size = 30G scope=spfile sid='PRMP2';
ALTER SYSTEM set sga_target = 30G scope=spfile sid='PRMP2';
srvctl stop instance -d PRMP -i PRMP2 -stopoption immediate;
srvctl start instance -d PRMP -i PRMP2
- 清理無效對象:
緯謙專案團隊指導客戶清理數據庫中的無效對象和未使用的記憶體,以釋放更多記憶體資源。
- 記憶體監控:
我們幫助客戶實施記憶體監控機制,定期檢查記憶體使用情況,即時發現和解決潛在問題。
透過調整 SGA_TARGET 和SGA_MAX_SiZE參數,成功地為SGA分配了更多的記憶體。
成果及效益
經過緯謙科技甲骨文團隊的問題盤查及技術排解,航空公司客戶成功解決了ORA-04031錯誤,並實現了以下改善與效益:
- 提升系統穩定性:
調整記憶體參數和清理無效對象後,客戶的數據庫系統運行更加穩定,數據處理不再中斷。
- 優化業務流程:
通過實施記憶體監控機制,使業務流程更加順暢,降低因記憶體不足引發的問題。
- 培育技術團隊能力:
在我們的指導下,客戶技術團隊學會如何有效管理和解決類似的數據庫問題,提升了整體技術能力。
- Apply Patch:
團隊發現目前19.11版本有一個Bug亦會造成此種現象,已提供Bug number給客戶。
這些措施不僅解決了當前的問題,還為航空公司客戶的未來運營提供了堅實的保障。
延伸閱讀:緯謙科技「Oracle 資料庫軟體服務」