在國內,資料庫管理員(英文是
database administrator
,簡稱dba
)算是乙個新生的,或者從業人員較少的職位。本人從事
dba的職位,也僅僅有
1年的時間。關於
dba應該做些什麼,應該是沒有乙個準確的定義,根據網上的一些資料,結合自己做
dba所經歷的具體事務,個人對
dba的職責概述如下:
1.安裝和公升級資料庫伺服器(如
oracle
、microsoft sql server
),以及應用程式工具;
2.資料庫設計系統儲存方案,並制定未來的儲存需求計畫;
3.一旦開發人員設計了乙個應用,就需要
dba來建立資料庫儲存結構(
tablespaces
)及資料庫物件(
tables,views,indexes
),或者是指導開發人員完成這項工作;
4.根據開發人員的反饋資訊,必要的時候,修改資料庫的結構;
5.登記資料庫的使用者,維護資料庫的安全性。
6.保證資料庫的使用符合智財權相關法規;
7.控制和監控使用者對資料庫的訪問訪問;
8.監控和優化資料庫的效能;
9.監控和關注資料庫系統的健康狀況
10.監控資料庫的穩定情況,及時處理重大問題
11.制訂和實施資料庫系統的維護方案;
12.制定資料庫備份計畫,災難出現時對資料庫資訊進行恢復;
13.維護適當介質上的存檔或者備份資料;
14.備份和恢復資料庫;
15.聯絡資料庫系統的生產廠商,跟蹤技術資訊,向開發人員傳遞相關的資訊。
這些職責的絕大部分,體現在我們的公司中,是自我進入公司以後,在公司完成的四大系統(專案),這些系統是:
1.資料庫自動備份
/恢復系統
該系統完成
dba職責中2、
11、
13兩點,並且解決了備份和恢復的處理需要專業
dba才能很好地完成這個蔽端
2.資料庫狀態執行分析系統
該系統完成
dba職責中8、
9兩點,通過部署該系統,所有被管理的伺服器的資訊都被匯集在一台監控伺服器上,而且這些資訊經過了程式和預分析,人工只需要處理程式分析後的結果。程式的自動分析依賴於規則庫,在經驗的不斷積累下,規則庫會越來越完成,則這個系統的自動分析功能也越來越強。
在效能優化和健康狀況分析方面,一般要高階
dba才能很好的完成此項工作,而監控本身卻是一項費力不需要什麼技術的工作,這個一般由普通的
dba完成,在部署了此系統後,普通
dba的人力被節約了,而高階
dba的經驗也可以積累到規則庫中,這樣高階
dba可以把重複的工作不斷地去掉,從而有時間研究更多深入的東西。
3.資料庫執行監控系統
該系統覆蓋
dba職責中的9、
10兩點,在完成這個系統之前,需要對重要的伺服器實施
7x24
小時的人工監控,非常消耗人力資源。而在監控中,大部分時間都是在做一些狀態觀察,但不能有鬆懈,遇到問題時,又必須要較有經驗的
dba才能準確地處理,這導致了非常難安排人員。
部署此系統後,公司專門成立了乙個監控團隊,由監控團隊統一監控(包括資料庫系統之後的監控),故障出現時,根據系統預設的規則對資訊進行分析,給出解決建議,並把資訊傳送給監控人員,監控人員根據解決建議尋找相關的專業人員解決問題。
4.db move
(資料庫遷移專案)
該系統完成
dba職責中的3、
4、
5三點。
通過標準的規範,讓開發人員可以編寫出絕大部分合乎效能和格式需求的指令碼,
dba則複核這些指令碼,從專業的角度評判指令碼的質量,並視情況確定是否能改寫為更優秀的指令碼,從而保證了發布到線上環境的指令碼質量,也減小了低質量指令碼進入線上環境帶來的危險;同時,在這種模式下,
dba與開發人員的比例可以比較大,同時,配合培訓,還可以提供開發人員在資料庫方面的技能。
通過規範的流程,保證了對所有環境的修改是可管理的,將各專案組之間在修改上造成的衝突降到了最低。
通過資料庫遷移工具,
dba在資料庫遷移方面,指令碼的語法檢查,舊指令碼的備份,指令碼的更新等工作都是由工具自動完成的,
dba可以把精力投入到有技術要求的指令碼效能檢查中。
總結個人從事
dba以來所做的工作,主要是把個人的經驗融入各種自動化處理系統(目前市面上資料庫(特別是
sql server
)的管理工具還是比較少)中,這一點是非常重要的,因為我從事的公司有四套資料庫環境,超過
60臺的資料庫伺服器,而
dba的全部人員(成都、上海、美國)不足
10人,其中
3人為基礎在培養人
dba,開發人員超過
500人,如果沒有這些工具,
10個人要完成
dba的工作是非常吃力的,在這些工具全部應用後,目前的人力還是有些吃緊,但普通的
dba的工作是很輕鬆的,可以有很多的時間用在學習上。
在創新應用、行業借鑑經驗和應用難點技巧方面體現如下:
創新性應用:ø使用
infopath
結合share point
完成db move
的所有指令碼及文件資訊傳遞
ø自行開發資料的資料庫遷移工具,配合
infopath
指令碼遷移文件(
xml格式),能自動完成指令碼的語法檢查、指令碼備份及指令碼的發布,使整個資料庫發布流程順暢ø使用
sql server 2005
的ssis
,建立出通用的資料庫執行狀態框架,能高效開發和部署各種資料庫執行狀態資訊獲取程式
ø規劃的設計出資料庫監控系統的通用框架和基類,通過這個專案,能高效地開發和部署各種實時監控系統
行業借鑑經驗:
ø通用資料庫執行狀態框架
ø通用監控系統框和基類
ø資料庫指令碼規範(格式和效能規範)
ødba
工作的思想:重複工作自動化,建立知識庫
應用難點技巧:ø解決
dba的開發能力(全部靠
t-sql
指令碼寫不出好的工具)ø提高
dba的綜合技能,特別是在
sql server 2005
下,xml
、一定的開發技能,這些都是必需的
文章請同時提交信箱:
鄒建SQL Server通用分頁儲存過程
鄒建sql server通用分頁儲存過程 資源概述 csdn社群sql server版大版主鄒建的sql server通用分頁儲存過程。內容摘錄 用儲存過程實現的分頁程式 顯示指定表 檢視 查詢結果的第x頁 對於表中主鍵或標識列的情況,直接從原表取數查詢,其它情況使用臨時表的方法 如果檢視或查詢結果...
壓縮資料庫日誌 原作 zjcxc 鄒建
經常在csdn上看到發帖說,壓縮日誌檔案處理不當,導致資料庫損壞,甚至不能恢復資料,於是就寫了乙個通用的資料庫日誌檔案壓縮的儲存過程來解決此問題 壓縮資料庫的通用儲存過程 壓縮日誌及資料庫檔案大小 因為要對資料庫進行分離處理 所以儲存過程不能建立在被壓縮的資料庫中 鄒建 2004.3 呼叫示例 ex...
創新談 王忠海
寫在前面的話 我從97 年畢業後開始做的是程式設計工作,99年開始接觸 oracle 資料庫程式設計,慢慢的工作重心向資料庫方向轉移,並且隨著時間的推移也越來越喜歡資料庫。很多時候遇到問題的時候,容易從資料庫的角度去考慮問題的解決方法。我對 創新應用 行業借鑑經驗 應用難點技巧 理解可能不太深刻,因...