DBA的工作職責是什麼。每天DBA應該做哪些工作。穩定環境中的DBA該如何成長與最佳化。這是很多人都曾經提出過的問題,下面是我的觀點和建議,供參考。
1. 即時監控資料庫警示日誌
作為一個DBA,或者哪怕僅僅是和Oracle資料庫打交道的技術人員,你都必須知道警示日誌是什麼,在何處。
而對於DBA來說,即時的監控資料庫的警示日誌是必須進行的工作,監控並且應該根據不同的嚴重層級,發送不同層級的警示資訊(通過郵件、簡訊),這可以協助我們及時瞭解資料庫的變化與異常,及時響應並介入處理。
2. 即時監控資料庫的重要統計資訊
實施監控對於資料庫運行至關重要、要高度關注那些能夠表徵資料庫重要變化的統計資訊,並且據此發送警示資訊。那麼應當監控哪些統計資訊呢。大家應當區別條件深入思考,對於單機、RAC環境等各不相同。
3. 部署自動的Statspack/AWR報告產生機制
每天檢查前日的AWR報告,熟悉資料庫的健全狀態,做到對於資料庫了如指掌。
4. 每天至少最佳化和熟悉一個Top SQL
根據AWR或Statspack報告,每天至少瞭解或熟悉一個Top SQL,能最佳化的要提出最佳化和調整建議。一個DBA應當對穩定系統中的SQL非常熟悉和瞭解,這樣才可能在系統出現效能問題時見微知著,快速地作出判斷和響應。
5. 部署完善的監控和資料採樣系統
DBA應該對資料庫部署完善的監控系統,並對重要訊息進行採樣,能夠即時或定期產生資料庫重要指標的曲線圖,展現資料庫的運行趨勢。
6. 全面深入地瞭解應用架構
不瞭解應用的DBA是沒有前途的DBA,對應用瞭解不深入的DBA算不上Expert,所以一定要深入瞭解應用。
在資料庫本身變得更加自動化和簡化之後,未來的DBA應該不斷走向前端,加深對於應用的瞭解,從應用角度對資料庫及全域進行把握和最佳化。
7. 撰寫系統架構、現狀、調整備忘錄
根據對資料庫的研究和瞭解,不斷記錄資料庫的狀況,撰寫資料庫結構描述、現狀及調整備忘錄,不放過任何可能的最佳化與改進的機會。