不少時候,都和身邊朋友聊兩個問題,DBA的平常工做都是哪些?什麼纔是數據庫方面最重要的?ios
我相信這兩個問題的答案每一個人都不會徹底同樣,我也是,因此這裏只表明個人我的觀點,而且如下的內容將圍繞個人思路展開,但願對你們有或多或少的幫助。 數據庫
A:服務器
A: 穩定性工具
不少公司,DBA和管理的DB數量比,1:10算少的,1:50都不算多,1:100也見過,數據庫的優化、高可用、監控等等都是爲了確保數據庫的穩定性,穩定性若是不能保證,其餘的工做都沒法順利開展,那麼在保證穩定性的工做中,監控又顯的格外突出。我我的的見解,DBA平常80%的工做都是在監控DB,自動化必不可少,爲了節約出你的79%的監控時間,你纔有去安裝、優化、故障處理、配合開發人員工做的時間,那麼80%中,還有1%去哪裏了?答案就是人工監控將佔據這1%。任何監控程序都永遠不能100%代替人工,就像你媽把你放在幼兒園,還會去了解你在幼兒園的狀況同樣,因此你時不時須要人工看看你的DB的實際狀況。性能
我將DB監控分爲兩類:1、功能監控;2、性能監控。優化
我主張的是先保證功能,纔有資格保證性能,連功能都不能保證的監控,不是好的性能監控。spa
市面上,有很是多的開源軟件,例如cacti、zabbix、nagios..,對於數據庫或者服務器的功能監控,基本仍是調用的DMV、WMI來監控的,性能監控也基本都是圍繞性能計數器運行值監控,個人監控程序也同樣,不過有一點不一樣之處,就是基礎數據的收集及使用。日誌
第三方監控程序我總結是基礎數據收集+計算基礎數據+計算後數據圖表展現。開源程序的廣泛使用造就了一些人過於依賴的現象,大多數公司在招聘DBA的時候都不會問你如何使用第三方工具,而做爲企業招聘者,更願意招聘那些懂得如何收集基礎數據,如何計算基礎數據,如何展現計算後數據的人。對象
換言之,如何計算、如何展現,只要你有基礎數據,那麼一切將不在話下。索引
簡單概括下個人監控列表,在後面的文章裏,我會分享下每個是如何實現的。
1、功能監控
2、性能監控
3、如何利用SQL CLR+WMI進行Windows監控
4、報警:如何用SQL Server,達到短信報警和郵件報警的實現
通宵加班中,本次只能說到這裏,以上只表明本人的想法,若是有不一樣意見,很是歡迎發來探討。