如何有效做資料庫巡檢,老A有話說
摘要: 資料庫巡檢是資料庫運維領域最重要的工作,它將長期存在。和資料庫運維發展類似,資料庫巡檢也經歷了人肉、指令碼化、平臺化的發展。 01 人肉巡檢 運維工程師手工巡檢資料庫各項指標。巡檢項、巡檢結論完全取決於運維工程師的水平,不同...
資料庫巡檢是資料庫運維領域最重要的工作,它將長期存在。和資料庫運維發展類似,資料庫巡檢也經歷了人肉、指令碼化、平臺化的發展。
01
人肉巡檢
運維工程師手工巡檢資料庫各項指標。巡檢項、巡檢結論完全取決於運維工程師的水平,不同工程師巡檢同一套資料庫,巡檢結果可能會大相徑庭。而且資料庫越多,巡檢報告的質量往往越差,運維工程師越不容易發現問題。
02
指令碼化巡檢
人肉巡檢的升級版,運維工程師利用現成的指令碼手工或者自動巡檢資料庫各個元件。由於巡檢指令碼是固定的,因此指令碼化巡檢能相對全面地巡檢資料庫,但能否從指令碼執行結果中發現問題,仍受限於運維工程師的經驗。與人肉巡檢類似,資料庫數量越多,巡檢報告質量越差。
03
平臺化巡檢
指令碼化巡檢的升級版。資料庫巡檢平臺內建了巡檢指令碼及智慧專家系統。資料庫自動化巡檢完成之後,智慧專家系統實時評估巡檢結果,自動產生巡檢報告,完全保證了巡檢報告的質量。此外,不同的運維場景有不同的巡檢需求,資料庫巡檢平臺應能夠自動產生適應不同場景的巡檢報告。
人肉巡檢、指令碼化巡檢及平臺化巡檢三者之間的區別,如下表所示:
平臺化巡檢已成為時下主流的資料庫巡檢方式,越來越多的資料庫巡檢平臺上市。
隨著業務系統的發展,對資料庫的執行效率和效能提出了更高的要求,選擇資料庫巡檢平臺需要從 全面性、多樣性、時效性 多角度考慮:
1、 全面性
首先,資料庫巡檢須全面,巡檢報告要能夠全面、準確地反映資料庫健康狀態。資料庫巡檢並不是簡單地收集、分析資料庫當下執行指標,它還需要反映歷史變化規律(資料庫執行節奏),甚至能夠預測未來發展趨勢。
資料庫可以從重點以下幾方面進行檢查:
- 資料庫環境,如作業系統資源、作業系統配置、資料庫軟體版本等。
- 資料庫配置,如資料庫引數配置、redo日誌配置等。
- 資料庫資源,主要分為空間資源(如表空間、歸檔空間、閃回空間、備份空間)、記憶體資源、程序資源等。
- 資料庫物件,如大表、大索引、無效物件是否合理等。
- 資料庫安全,如是否存在超級許可權、弱口令使用者等。
- 資料庫效能,主要分析資料庫效能的變化趨勢及發展規律等。
- 資料庫災備,主要分析資料庫災備是否執行正常。
以 美創資料庫運維工具箱 為例,運維人員一鍵操作全面巡檢功能,自動巡檢上述指標後,內建的專家系統有針對性地給出建議。如下圖所示:
每套資料庫都有其特定的執行規律,為了避免侷限性,資料庫巡檢不能只是檢查瞬時指標,還需要考慮其歷史執行規律,進而判斷各項指標、系統執行節奏是否合理。如:從資料庫redo日誌時分趨勢圖中可以看出資料庫早上9點到10點明視訊記憶體在執行高峰:
從資料庫物件變化趨勢圖中還能明確知道物件的變化趨勢,如2019年1月28日,某客戶的資料庫建立了大量物件:
2、 多樣性
其次,資料庫巡檢需體現多樣性。不同時期、不同場景下的資料庫巡檢需側重收集、分析不同的指標,進而自動產生適用於不同場景的巡檢報告,給出針對性的建議。
1)全面巡檢,系統巡檢資料庫各項元件。通過全面巡檢可以清楚地知道資料庫健康狀態、執行節奏、配置情況等資訊,自動生成的全面巡檢報告。如下圖所示:
2)上班巡檢,側重巡檢資料庫各項元件是否處於健康狀態,各項資源是否足夠滿足一天的業務需求。通過雷達圖(健康指標和風險指標)結合紅、黃、綠版塊直觀展示巡檢概況,如下圖所示:
3)下班巡檢,側重檢視工作一天以來各項資源的使用是否合理。下班巡檢在上班巡檢的基礎上總結了各項資源的使用情況,並確保主機、資料庫資源等在下班後的“無人模式”下,能夠支撐業務的正常運轉。如下圖所示:
資料庫巡檢工作不是單次操作,需要有計劃的自動開展,以及時發現問題,減輕運維人員工作量。在巡檢平臺中需實現自動計劃功能,定期為資料庫進行巡檢。某資料庫在美創資料庫巡檢平臺的自動巡檢記錄如下圖所示:
3、 時效性
最後,資料庫巡檢還需具備時效性。由於資料庫時刻處在變化中,為了及時發現問題,所以一般要求當天出具巡檢報告,或者更短的時間。工程師根據報告評估是否採納建議,確保資料庫高效、穩定執行。利用美創資料庫運維工具箱,只需5-10分鐘(人工輸出至少要2-3小時),就生成了系統化的巡檢報告,大大節約了運維人員的人力時間成本。
美創資料庫運維工具箱,讓你隨時擁有美創高階DBA的巡檢技能,不妨前來試用。
相關文章