精通數(shù)據(jù)庫(kù)系列之入門(mén)-基礎(chǔ)篇3

字號(hào):

行業(yè)的現(xiàn)狀和展望
    近年來(lái),我一直在和數(shù)據(jù)庫(kù)管理員打交道,并直接面試了很多DBA職位。本文想概括一下IT行業(yè)對(duì)DBA的要求,以及國(guó)內(nèi)DBA的新資現(xiàn)狀。可以肯定地說(shuō),做一個(gè)高級(jí)DBA是很不錯(cuò)的職業(yè)。如果你打算成為一名DBA,那么希望本文起到拋磚引玉的作用。
    什么是DBA
    數(shù)據(jù)庫(kù)管理員,英文是Database Administrator,簡(jiǎn)稱(chēng)DBA。這個(gè)職位對(duì)不同的人意味著不同的意義。一個(gè)小的軟件開(kāi)發(fā)工作室和一個(gè)分工高度明細(xì)的大公司相比,DBA的職責(zé)來(lái)得更加寬泛一些。一個(gè)公司,不管它是自己開(kāi)發(fā)應(yīng)用軟件,還是購(gòu)買(mǎi)第三方的應(yīng)用軟件,只要涉及到數(shù)據(jù)庫(kù)(有多少不涉及數(shù)據(jù)庫(kù)的應(yīng)用軟件呢?數(shù)據(jù)庫(kù)是商業(yè)的靈魂和大腦啊),就需要確定是否雇傭一個(gè)或幾個(gè)DBA。知道DBA這個(gè)職位有哪些要求,對(duì)于企業(yè)內(nèi)部這個(gè)職位的定義或者對(duì)于那些未來(lái)的DBA將是至關(guān)重要的。下面我列出了DBA的一些職責(zé):
    安裝和升級(jí)數(shù)據(jù)庫(kù)服務(wù)器(如Oracle、Microsoft SQL server),以及應(yīng)用程序工具。
    數(shù)據(jù)庫(kù)設(shè)計(jì)系統(tǒng)存儲(chǔ)方案,并制定未來(lái)的存儲(chǔ)需求計(jì)劃。
    一旦開(kāi)發(fā)人員設(shè)計(jì)了一個(gè)應(yīng)用,就需要DBA來(lái)創(chuàng)建數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)(tablespaces)。
    一旦開(kāi)發(fā)人員設(shè)計(jì)了一個(gè)應(yīng)用,就需要DBA來(lái)創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象(tables,views,indexes)。
    根據(jù)開(kāi)發(fā)人員的反饋信息,必要的時(shí)候,修改數(shù)據(jù)庫(kù)的結(jié)構(gòu)。
    登記數(shù)據(jù)庫(kù)的用戶(hù),維護(hù)數(shù)據(jù)庫(kù)的安全性。
    保證數(shù)據(jù)庫(kù)的使用符合知識(shí)產(chǎn)權(quán)相關(guān)法規(guī)。
    控制和監(jiān)控用戶(hù)對(duì)數(shù)據(jù)庫(kù)的存取訪(fǎng)問(wèn)。
    監(jiān)控和優(yōu)化數(shù)據(jù)庫(kù)的性能。
    制定數(shù)據(jù)庫(kù)備份計(jì)劃,災(zāi)難出現(xiàn)時(shí)對(duì)數(shù)據(jù)庫(kù)信息進(jìn)行恢復(fù)
    維護(hù)適當(dāng)介質(zhì)上的存檔或者備份數(shù)據(jù)
    備份和恢復(fù)數(shù)據(jù)庫(kù)
    聯(lián)系數(shù)據(jù)庫(kù)系統(tǒng)的生產(chǎn)廠(chǎng)商,跟蹤技術(shù)信息。
    DBA的個(gè)性特點(diǎn)
    很多時(shí)候管理人員都忽視了DBA的個(gè)性特點(diǎn),他們只關(guān)注DBA的技術(shù)能力。實(shí)際上,上面談到的每個(gè)職責(zé)都意味著:DBA需要跟各種人員打交道,這些人員可能是銷(xiāo)售商、用戶(hù)、開(kāi)發(fā)人員或者管理人員。這說(shuō)明:DBA必須具有下面的個(gè)性特點(diǎn):
    自信心
    好奇心
    堅(jiān)韌的意志力
    老練
    自我驅(qū)動(dòng)
    注意細(xì)節(jié)
    為什么這些個(gè)性特點(diǎn)很重要呢?
    我就有幾個(gè)缺乏自信心的部下,他們反復(fù)問(wèn)我一些事無(wú)巨細(xì)的問(wèn)題,他們沒(méi)有信心哪怕做最小的決定。他們也缺乏工作的主動(dòng)性。這對(duì)于初級(jí)DBA來(lái)說(shuō)可能問(wèn)題不太大,但對(duì)于那些高級(jí)DBA來(lái)說(shuō),如果他們?nèi)狈ψ孕判?,他們又可以依?lài)誰(shuí)幫他們決策呢?在DBA的面試中,即使你不能回答某個(gè)技術(shù)問(wèn)題,你也要表現(xiàn)出足夠的自信心。最致命的不是不知道問(wèn)題的答案,而是不知道從哪兒得到答案。
    幾乎所有的數(shù)據(jù)庫(kù)系統(tǒng)都在不停地更新。但并不是所有的更新都有技術(shù)文檔。對(duì)于好的DBA來(lái)說(shuō),好奇心是必需的。沒(méi)有好奇心和求知欲的DBA總是等待有人告訴他們答案。而一個(gè)求知欲強(qiáng)的DBA將安裝最新版本的數(shù)據(jù)庫(kù)系統(tǒng),并立即開(kāi)始搜尋那些哪怕是細(xì)微的功能和性能上的差異和增強(qiáng),從而改進(jìn)自己的工作。應(yīng)試時(shí)一個(gè)必然問(wèn)及的問(wèn)題是:你手頭有哪些參考資料?你如何使用它們?毫無(wú)疑問(wèn),如果你只回答了數(shù)據(jù)庫(kù)的文檔,或者你甚至沒(méi)有讀過(guò)他們,你的"股票市值"將大大下降。好奇心會(huì)驅(qū)使DBA們理解數(shù)據(jù)字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。
    DBA常常會(huì)碰到棘手的問(wèn)題。尋找答案是一個(gè)需要堅(jiān)韌意志力、可以經(jīng)受摔打的個(gè)性特點(diǎn)。我常常在一些討論組或者論壇上看到DBA們提出的問(wèn)題,這些問(wèn)題往往是提問(wèn)者自己可以解決的,如果他們具有堅(jiān)韌的個(gè)性特點(diǎn),并努力尋求問(wèn)題的答案。
    自我驅(qū)動(dòng)對(duì)每個(gè)人都是很重要的,對(duì)DBA尤其如此。DBA要能想辦法使問(wèn)題出現(xiàn),而不是等待問(wèn)題的出現(xiàn)。自驅(qū)力強(qiáng)的DBA常常設(shè)法取得或者自己寫(xiě)一些必要的腳本(Script)來(lái)監(jiān)控包括數(shù)據(jù)表大小(Table Size)、表空間使用(Tablespace Usage)等項(xiàng)目,這些項(xiàng)目如果被忽視,他們將遇到麻煩。應(yīng)試的時(shí)候DBA們常常被問(wèn)及在PL/SQL、SQL或者SQL*PLUS方面的經(jīng)驗(yàn),這些問(wèn)題將把你從從來(lái)沒(méi)有編寫(xiě)過(guò)自己需要的腳本的那些DBA們區(qū)分開(kāi)。
    不用說(shuō)和用戶(hù),就是和程序員和管理人員打交道,也需要你足夠老練。一個(gè)一點(diǎn)不會(huì)處事的DBA不會(huì)為你做什么好事,只會(huì)在你的部門(mén)點(diǎn)燃敵對(duì)情緒的烈火。老練是這樣一種能力,你勸告某個(gè)人到地府去,哈哈,最后這個(gè)人懷著渴望的心情去了。很多時(shí)候,開(kāi)發(fā)者、管理者、用戶(hù),他們會(huì)提出毫無(wú)道理的需求,DBA們需要老練地引導(dǎo)、修正它們的要求,說(shuō)服他們。在應(yīng)試時(shí),你的應(yīng)對(duì)就很能說(shuō)明你是否老練。
    最后說(shuō)說(shuō)注意細(xì)節(jié),這種性格傾向非常重要。注意細(xì)節(jié)的DBA們衣著整潔,有自己的日程安排,在應(yīng)試前對(duì)應(yīng)聘的單位做過(guò)調(diào)查。注意細(xì)節(jié)的DBA們深入了解數(shù)據(jù)庫(kù)的內(nèi)核,并能理解視圖、表之間的關(guān)系。
    DBA的等級(jí)
    DBA的等級(jí)并不是很?chē)?yán)格的。按照對(duì)數(shù)據(jù)庫(kù)的掌握情況,我簡(jiǎn)單地分成三個(gè)等級(jí):初級(jí)Primary、中級(jí)Intermediate和高級(jí)Senior。
    初級(jí)DBA又稱(chēng)為DBBS,是英文Database Baby Sitter的縮寫(xiě)。初級(jí)DBA常常是兼職的,他們往往同時(shí)是程序員或者兼任其他的工作。初級(jí)DBA往往把個(gè)人簡(jiǎn)歷寫(xiě)得很棒,參與了很多和數(shù)據(jù)庫(kù)有關(guān)的項(xiàng)目或工作。但是,這些項(xiàng)目或者工作往往是:第三方軟件供應(yīng)商已經(jīng)安裝并配置了數(shù)據(jù)庫(kù),他們只做一些監(jiān)控的工作。他們能處理一些簡(jiǎn)單的問(wèn)題,但大多數(shù)時(shí)候他們向應(yīng)用軟件供應(yīng)商求救。初級(jí)DBA更喜歡圖形化的數(shù)據(jù)庫(kù)管理或者監(jiān)控工具,他們喜歡Access這樣的桌面數(shù)據(jù)庫(kù)簡(jiǎn)單易用,并把這些小型數(shù)據(jù)庫(kù)的經(jīng)驗(yàn)簡(jiǎn)單地應(yīng)用到大型數(shù)據(jù)庫(kù)相關(guān)的工作中