近年來,我一直在和資料庫管理員打交道,並直接面試了很多dba職位。本文想概括一下it行業對dba的要求,以及國內dba的新資現狀。可以肯定地說,做乙個高階dba是很不錯的職業。如果你打算成為一名dba,那麼希望本文起到拋磚引玉的作用。
什麼是dba
資料庫管理員,英文是database administrator,簡稱dba。這個職位對不同的人意味著不同的意義。乙個小的軟體開發工作室和乙個分工高度明細的大公司相比,dba的職責來得更加寬泛一些。乙個公司,不管它是自己開發應用軟體,還是購買第三方的應用軟體,只要涉及到資料庫(有多少不涉及資料庫的應用軟體呢?資料庫是商業的靈魂和大腦啊),就需要確定是否僱傭乙個或幾個dba。知道dba這個職位有哪些要求,對於企業內部這個職位的定義或者對於那些未來的dba將是至關重要的。下面我列出了dba的一些職責:
安裝和公升級資料庫伺服器(如oracle、microsoft sql server),以及應用程式工具。
資料庫設計系統儲存方案,並制定未來的儲存需求計畫。
一旦開發人員設計了乙個應用,就需要dba來建立資料庫儲存結構(tablespaces)。
一旦開發人員設計了乙個應用,就需要dba來建立資料庫物件(tables,views,indexes)。
根據開發人員的反饋資訊,必要的時候,修改資料庫的結構。
登記資料庫的使用者,維護資料庫的安全性。
保證資料庫的使用符合智財權相關法規。
控制和監控使用者對資料庫的訪問訪問。
監控和優化資料庫的效能。
制定資料庫備份計畫,災難出現時對資料庫資訊進行恢復
維護適當介質上的存檔或者備份資料
備份和恢復資料庫
聯絡資料庫系統的生產廠商,跟蹤技術資訊。
dba的個性特點
很多時候管理人員都忽視了dba的個性特點,他們只關注dba的技術能力。實際上,上面談到的每個職責都意味著:dba需要跟各種人員打交道,這些人員可能是銷售商、使用者、開發人員或者管理人員。這說明:dba必須具有下面的個性特點:
自信心/好奇心/堅韌的意志力/老練/自我驅動/注意細節
為什麼這些個性特點很重要呢?
我就有幾個缺乏自信心的部下,他們反覆問我一些事無鉅細的問題,他們沒有信心哪怕做最小的決定。他們也缺乏工作的主動性。這對於初級dba來說可能問題不太大,但對於那些高階dba來說,如果他們缺乏自信心,他們又可以依賴誰幫他們決策呢?在dba的面試中,即使你不能回答某個技術問題,你也要表現出足夠的自信心。最致命的不是不知道問題的答案,而是不知道從哪兒得到答案。
幾乎所有的資料庫系統都在不停地更新。但並不是所有的更新都有技術文件。對於好的dba來說,好奇心是必需的。沒有好奇心和求知慾的dba總是等待有人告訴他們答案。而乙個求知慾強的dba將安裝最新版本的資料庫系統,並立即開始搜尋那些哪怕是細微的功能和效能上的差異和增強,從而改進自己的工作。應試時乙個必然問及的問題是:你手頭有哪些參考資料?你如何使用它們?毫無疑問,如果你只回答了資料庫的文件,或者你甚至沒有讀過他們,你的"**市值"將大大下降。好奇心會驅使dba們理解資料字典(data dictionary)、管理工具(tools)或者其他支援包(packages)。
dba常常會碰到棘手的問題。尋找答案是乙個需要堅韌意志力、可以經受摔打的個性特點。我常常在一些討論組或者論壇上看到dba們提出的問題,這些問題往往是提問者自己可以解決的,如果他們具有堅韌的個性特點,並努力尋求問題的答案。
自我驅動對每個人都是很重要的,對dba尤其如此。dba要能想辦法使問題出現,而不是等待問題的出現。自驅力強的dba常常設法取得或者自己寫一些必要的指令碼(script)來監控包括資料表大小(table size)、表空間使用(tablespace usage)等專案,這些專案如果被忽視,他們將遇到麻煩。應試的時候dba們常常被問及在pl/sql、sql或者sql*plus方面的經驗,這些問題將把你從從來沒有編寫過自己需要的指令碼的那些dba們區分開。
不用說和使用者,就是和程式設計師和管理人員打交道,也需要你足夠老練。乙個一點不會處事的dba不會為你做什麼好事,只會在你的部門點燃敵對情緒的烈火。老練是這樣一種能力,你勸告某個人到地府去,哈哈,最後這個人懷著渴望的心情去了。很多時候,開發者、管理者、使用者,他們會提出毫無道理的需求,dba們需要老練地引導、修正它們的要求,說服他們。在應試時,你的應對就很能說明你是否老練。
最後說說注意細節,這種性格傾向非常重要。注意細節的dba們衣著整潔,有自己的日程安排,在應試前對應聘的單位做過調查。注意細節的dba們深入了解資料庫的核心,並能理解檢視、表之間的關係。
dba的等級
dba的等級並不是很嚴格的。按照對資料庫的掌握情況,我簡單地分成三個等級:初級primary、中級intermediate和高階senior。
初級dba又稱為dbbs,是英文database baby sitter的縮寫。初級dba常常是兼職的,他們往往同時是程式設計師或者兼任其他的工作。初級dba往往把個人簡歷寫得很棒,參與了很多和資料庫有關的專案或工作。但是,這些專案或者工作往往是:第三方軟體**商已經安裝並配置了資料庫,他們只做一些監控的工作。他們能處理一些簡單的問題,但大多數時候他們向應用軟體**商求救。初級dba更喜歡圖形化的資料庫管理或者監控工具,他們喜歡access這樣的桌面資料庫簡單易用,並把這些小型資料庫的經驗簡單地應用到大型資料庫相關的工作中。
初級dba是最好區分的。而中級dba和高階dba就不太好區分。他們的差別在於經驗的不同和個性特點、能力方面的差異。中級dba比較多,他們可以勝任高階dba的大部分工作,包括:
資料庫安裝/資料庫配置和管理/許可權設定和安全管理/監控和效能調節/備份和恢復/解決一般的問題
中級dba往往從業一年左右,熟悉某種作業系統環境下的資料庫。因為對中級dba來講,windows nt和unix是有很大差別的。中級dba對sql比較熟悉,他們自己購買了幾本資料庫方面的書籍,並深入鑽研。中級dba往往同時兼任資料庫程式設計師,他們的工作對效能、穩定性、安全性的追求基本上不是很高,往往配合高階dba做一些例行工作。
很多時候,是否取得資料庫專家認證證書並不是很重要。我知道很多資料庫廠商的培訓只要你去了都會獲得證書。有很多的公司提供商業化的培訓,他們的服務質量也有好有劣。所以證書並不是特別地有意義。
你希望成為一名合格的DBA嗎?
近年來,我一直在和資料庫管理員打交道,並直接面試了很多dba職位。本文想概括一下it行業對dba的要求,以及國內dba的新資現狀。可以肯定地說,做乙個高階dba是很不錯的職業。如果你打算成為一名dba,那麼希望本文起到拋磚引玉的作用。什麼是dba 資料庫管理員,英文是database adminis...
你希望成為一名合格的DBA嗎?
近年來,我一直在和資料庫管理員打交道,並直接面試了很多dba職位。本文想概括一下it行業對dba的要求,以及國內dba的新資現狀。可以肯定地說,做乙個高階dba是很不錯的職業。如果你打算成為一名dba,那麼希望本文起到拋磚引玉的作用。什麼是dba 資料庫管理員,英文是database adminis...
你希望成為一名合格的DBA嗎?
近年來,我一直在和資料庫管理員打交道,並直接面試了很多dba職位。本文想概括一下it行業對dba的要求,以及國內dba的新資現狀。可以肯定地說,做乙個高階dba是很不錯的職業。如果你打算成為一名dba,那麼希望本文起到拋磚引玉的作用。什麼是dba 資料庫管理員,英文是database adminis...