DBA資料庫管理員要求

jst143發表於2011-04-07

什麼是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在國內是非常少的。他們購買了太多的資料庫方面的英文資料,也許是託朋友從Amazon買的。相對於他們的報酬來講,買書的錢是很少的一個比例。高階DBA一般都熟悉很多種操作平臺下的幾種大型資料庫。他們知道各種不同資料庫在不同環境下的優勢和劣勢,並能在資料庫平臺和資料庫環境的選擇方面做出決策。他們一般通曉系統架構和資料庫設計,並能對資料庫進行各種級別的優化。高階DBA一般都配有助手,他們更偏向做決策和計劃。高階DBA往往在銀行業、保險業、在

線交易等對穩定性、安全性、效能都要求比較高的關鍵業務處理領域大顯身手。

  很多時候,是否取得資料庫專家認證證照並不是很重要。我知道很多資料庫廠商的培訓只要你去了都會獲得證照。有很多的公司提供商業化的培訓,他們的服務質量也有好有劣。所以證照並不是特別地有意義。

幾種流行的資料庫系統

最"容易"的資料庫系統-Microsoft SQL Server

  如果你打算做一個DBA,建議你選擇那些現在比較流行的資料庫系統。這意味著你將有更多的就業機會、交流和培訓機會,而且,流行自有流行的理由,你可以因此省心很多。當然,就業競爭壓力也比較大。一般的入門者選擇Microsoft SQL Server,這是非常適合中小型企業的資料庫系統,熟悉Access的讀者很容易就能初步使用Microsoft SQL Server,成為一個DBBS。Microsoft SQL Server 7.0的報價,5使用者版1399美金,增加使用者時,127美金每使用者。

最"難"的資料庫-無冕之王Oracle

  如果你有機會接觸到Oracle,那可是個好機會。Oracle是目前最看好的資料庫廠商,由於其強大的功能和可配置、可管理能力,Oracle DBA的薪資一般比其他資料庫管理員的薪資要高。而且,Oracle在大中型企業的關鍵應用也更加普遍了。Oracle可以執行在Windows NT、Sun Solaris、Linux等平臺下。很多情況下要求你不僅僅熟悉NT,還要你熟悉Unix;而且Oracle不太友善的介面和成箱的Oracle產品資料可能也是一個障礙。Oracle 8i標準版的報價,如果執行在Windows NT,附帶JServer和interMedia,支援5個併發使用者,報價是3925美金每CPU。增加併發使用者時,785美金每使用者。增加附加的命名使用者時,392.5美金每使用者。

資料庫系統的貴族-IBM UDB/DB2

  作為30年資料庫研究的成果,IBM DB2確實稱得上"資料庫系統的貴族"。不管是小型商業系統,還是大的銀行系統,用DB2都是可以高枕無憂的。最近推出的新版DB2 6.1, 管理和調節工具更加卓越和便於使用。DB2 可以執行在Intel架構上,也可以執行在IBM的S/390大型計算機上。如果你所在的行業對IBM的機器特別地稱道,建議你學習IBM DB2。

DB2有兩種版本:工作組版和企業版。工作組版999美元每伺服器,外加249美元每個併發使用者。而企業版是12500美元每個CPU,不限併發使用者數量。

以Java為中心的資料庫-Sybase Adaptive Server Enterprise(ASE) 12.0

   即將釋出的Sybase ASE 12.0,直接面向Java 程式設計師。這種以Java為中心的資料庫系統,為那些準備在Java 平臺下構建企業應用的企業來說,將是最好的選擇。但是ASE稱不上一個資料庫領域的領先者,儘管相對於它以前的版本已經改進很多,並支援多個CPU和更多的併發,還有很多的新的特性。但Sybase的風光似乎已經不再。

值得期盼的Informix Centaur

  有時候"第一"只是意味著你的對手需要等待更長的時間去趕上你。這正是1997年創立的Informix所面臨的。Informix公司是率先將多媒體特性加入到關聯式資料庫系統的大型資料庫廠商之一。但是如今,IBM、Oracle、Sybase都已經跨越了這個概念。所以,Informix不得不尋求新的支撐來使自己區別於其他資料庫廠商。這就是Informix Centaur的目標。Informix Centaur結合了Informix Dynamic Server 7.3的物件-關聯式資料庫和Informix Universal Data Option 9.1,意在獲得更好的適應性和多媒體支援。詳情如何,我們拭目以待!

下面不是全部列表,但是包括了DBA的典型職責:
· 把監視資料庫例項當作每日必做工作以保證其可用性。解決不可用的問題。
· 收集系統統計和效能資訊以便定向和配置分析。
· 配置和調整資料庫例項以便在應用程式特定要求下達到最佳效能。
· 分析和管理資料庫安全性。控制和監視使用者對資料庫的訪問。必要時審計資料庫的使用。
· 監視備份程式。必要時提供恢復。測試備份與恢復程式。
· 升級RDBMS軟體並且在必要時使用補丁。必要時升級或者遷移資料庫例項。
· 通過資料庫相關動作來支援應用程式開發人員。
· 跟隨資料庫趨向和技術。當可應用時使用新技術。安裝,測試和評估Oracle新的相關產品。
· 執行儲存和物理設計。均衡設計問題以完成效能優化。
· 建立,配置和設計信的資料庫例項。
· 診斷,故障檢測和解決任何資料庫相關問題。必要時聯絡Oracle支援人員以便使問題得到較好的

解決。
· 確保Oracle網路軟體(SQL*Net, Net8, Names, OiD)配置和執行的很好。
· 與系統管理員(Unix & NT)一起工作以保證Oracle相關事務得到很好的處理。
· 為有效的,定期的維護資料庫建立任何必要的指令碼。

第一份DBA工作現在成了惡性迴圈的境遇。假如我沒有任何經驗,我怎樣才能得到DBA的工作呢?我沒有工作的話又怎麼能得到DBA經驗呢?這是要戰勝的最困難的障礙。最困難的部分是獲得第一個DBA工作。這部分的剩下部分將針對實現你第一個DBA工作的目標給你一些建議。

提示#1:接受教育。--儘可能多的學習有關資料庫的知識。這很可能將佔用你正常工作以外的部分時間也精力。參加本地大學舉辦的資料庫培訓班。許多培訓公司都會舉辦資料庫管理員的培訓班。假如你的老闆不資助你的學習,那麼你可能不得不自己支付這筆費用。許多DBA職業要求至少為電腦科學或相關專業本科以上學歷,因此你必須至少有那樣的文憑。

提示#2:鍛鍊成為DBA。--許多資料庫供應商都允許你下載他們資料庫系統的測試版或評估版。下載一份並且在自己的個人電腦上安裝軟體。練習使用資料庫。故意破壞資料庫並且嘗試修復它。嘗試著履行你所能想到的儘可能多的DBA職責。測試和磨練你在自己的測試平臺上的技能這樣你就可以證明你的資料庫管理能力。

提示#3:獲得認證。--許多資料庫提供商都提供自己的資料庫產品的認證。許多公司現在都把認證看作是一種標準。需要記住的一件事是僅獲得認證是不夠的。通過DBA認證測試並不意味著你知道如何管理一個資料庫。它只是告訴你以後可能的老闆,現在你擁有了一定的技術。它還告訴你的老闆你對DBA工作的態度是很認真的。我看到許多人抱怨他們已經得到了認證但是沒有經驗,卻仍然不能得到第一份DBA工作。認證本身並不能使你得到工作,但它是無害的。即使沒有其他的,在你進行認證

的時候你也已經學到了許多知識。只是不要依賴認證來給你帶來你要找的工作。你需要的比這還要多。但它會在最後幫助你。

提示#4:利用你現有的技能。--許多DBA具有系統管理員背景。其他的有應用程式開發背景。假如可能,檢視你能否利用現有的技能來得到工作。現在的目標就是為你和你的老闆創造一個雙贏的局面。例如,讓我們假設你已經是一名系統管理員而想進入DBA領域。也許你會找到一份工作,這份工作一部分時間裡可以用到你的系統管理技能,並且在剩下的時間裡可以使你涉及到資料庫管理領域。假如你已經是一名某個產品平臺上的DBA但你希望轉到其他產品平臺,那麼看看你能否找到一份同時接觸兩個產品平臺的工作。這樣,公司和你都得到了想要的。在你定向到了DBA工作後,你可以試著得到一個能讓你全職作它的職位,也許還可以在同一個公司中。

提示#5:利用現在的機會。--有時候,一個人進入DBA領域僅僅需要的是正確的地方和正確的時機。

假如你現在的老闆有一個機會讓你進行任何資料庫的專案,抓住這個機會!任何資料庫經驗就比沒有資料庫經驗要好。讓你的管理者知道你十分積極的在尋找任何可能的資料庫機會。他們就有可能在下次機會到來的時候想到你。進行這些資料庫專案以及看到你要成為一個DBA的渴望以後,他們可能會決定培訓你,提拔你。許多許多人都是以這種方式獲得他的第一個DBA工作,在進行了一些資料庫相關的專案後不知不覺的成為一名較低階的DBA。通常當一名DBA離開公司後,公司將在內部尋找

一個候選人,假如他們認為這名候選人是可訓練的話。

提示#6:尋找較低階的DBA職位。--假如你只是為了一個較低階的DBA工作,看到DBA職位的需求描述說他們正在尋找高階DBA或者其他的。所以,讓我們嚴謹一些。你並沒有一個高階方面的經驗。我已經討論過了對於這樣的職位為什麼公司不會考慮你。但是他們會在低階的職位上考慮你。低階的DBA在高階DBA的指導下完成工作。他們摸索竅門。一般來說,高階DBA對資料庫承擔責任,同時也獲得所有的榮譽。但是不要焦急。隨著你的事業發展,你將會有越來越多的責任和得到越來越多的信任。因為你沒有任何經驗,你應該從這裡開始啟航。

我剛得到我的第一份工作!現在該怎樣?

祝賀你!你現在是DBA俱樂部的正式成員了!對於這份夢寐以求的令人激動的職業,你準備好了麼?你的工作才剛開始並且你在學習上已經落在後面。你將會發現要成為一名高效的資料庫管理員有大量的知識你必須掌握。你的第一年或前兩年將花費比以前更多的時間來學習。假如你發現學習知識的數量使你大腦超負荷,那麼休息一下,歇口氣,然後再回到學習中去。為了幫助你繼續走下去,你可以按照下面的方法進行:

步驟#1: 關係型資料庫理論 –這部分我假設你將管理的資料庫是一個“關係型”資料庫。其他資料庫模型也存在,但是關係型模式是近二十年工業上佔統治地位的一種資料庫模式。假如你的資料庫系統是其他的模式,那麼學習它的理論。相關資料庫理論是十分重要的。它是其他一切的基礎。我也看到許多跳到資料庫管理職位的人從不想去學習純粹的關係型資料庫理論。不可避免的,在他們的事業中對理論基礎的匱乏作為缺點暴露了出來。假如你對關係型資料庫理論理解得很好,那麼你將非常容易的在任何平臺的關係型資料庫管理系統(RDBMS)中轉變。我使用Oracle資料庫,或者IBM的DB2,或者微軟的SQL Server是無關緊要的。他們都是關係型資料庫系統。他們在最底層都在做著相同的事情。區別在於他們怎樣去做相同的事情。純粹的關係型資料庫理論對於較低階的DBA來說並非必需的。但是假如你想要超越低階DBA的水平它就是十分重要的。許多大學的教科書都很好的包含了關係型資料庫的理論。其中一本被廣泛使用的教科書就是由Elmasri and Navathe編寫的資料庫系統基礎,Bejamin/Cummings Press。

步驟#2: 徹底的學習查詢語言 –資料庫都有語言讓你能夠從資料庫中得到資料,把資料放到資料庫中,以及修改資料庫中的資料。對於關係型資料庫而言,這種語言就是結構化查詢語言(SQL)。這門語言是你與資料庫接觸的工具。不能讓這個工具成為以後學習的障礙,這一點很重要。在你的測試資料庫中練習不同的SQL語句直到他們變成了你的習慣。這方面的一本非常好的書叫做Oracle 9i完全參考(Oracle 9i The Complete Reference)由Loney 和Koch編寫,Oracle Press。每一名

Oracle DBA都應該在他事業的早期閱讀這本書。Oracle 9i參考手冊(Oracle 9i SQL Reference manual)是另一個很重要的知識來源。在他們的技術網站TechNet上(http://technet.oracle.com)你可以訪...t上有一個賬號。

步驟#3: 開始學習基本的資料庫管理工作 –這難道不是你最開始在這裡的原因?為什麼它在列表的第三位?我們嘗試著建造一個知識的金字塔,我強烈的感覺到一個人需要知道關係型資料庫理論和SQL,並且在你學習如何進行基本的資料庫管理工作時把他們當作工具來使用。這些工作包括啟動和關閉資料庫,備份和恢復資料庫,以及建立/刪除/修改資料庫物件。對於Oracle資料庫管理而言,在市面上有大量的書籍可以給你所期望的一個很好的體會。這本書是Oracle 9i DBA手冊(Oracle 9i DBA Handbook by Loney on Oracle Press)。我知道的大多數DBA都在他們事業的早期不只一遍的閱讀過這本書。這裡,你應該同時閱讀和理解Oracle 9i 概念指導,Oracle 9i管理員指導,以及Oracle 9i備份與恢復指導(Oracle 9i Concepts Guide, the Oracle 9i Administrator’s Guide, and the Oracle 9i Backup and Recovery Guide)都來自Oracle文件。

步驟#4: 閱讀,閱讀,再閱讀 –由於你才剛開始你的DBA職業生涯,因此你正在開始為你的技能奠定基礎。這需要一段很長的時間去形成,吸收和領會所有你將學到的知識。毫無疑問的,比你資深的DBA由許多工作要做,因此他們可能不會總是騰出大量時間輔導你的學習。你不得不靠自己學習很多東西。這就是閱讀的目的。市面上有許多書籍可以解答許多資料庫相關的話題。Oracle Press是Oracle公司的官方出版社,有大量的Oracle相關書籍。同時也有其他的出版社,如Wrox Press 和 O’Reilly Press。你也可以找到Oracle文件來閱讀。並且還有許多網站和新聞組。儘可能多的讀書使你能夠繼續下去。還有,不只一遍的閱讀它們可以使你吸收你第一次閱讀時錯過的內容。

步驟#5: 建立測試案例 –我經常看到初學者問一些很基礎的問題,其實假如他們花一些時間來考慮,這些問題都是很容易解答的。毫無疑問的,在你開始學習Oracle的時候你會有許多的問題。看看這些問題你能不能自己回答出來。例如,我又一次被問到能不能向有唯一性約束的列中插入空值。最開始,這看上去也許不是很容易回答的問題。但它卻是非常容易去試驗的!只需要建立一個簡單的表。在其中的一列,假如唯一性約束。嘗試著在該列插入一個空值。有效麼?你應該能夠非常容易的回答出這個問題了。那麼,為什麼要建立這些案例呢?一個原因是這樣做可以提高你解決問題的能力。建立這些案例需要的技能就是解決問題用到的技能。解決問題的技能將會對你的DBA事業有很大的幫助。另一個原因是隨著你的事業的發展,你將經常需要建立更復雜的測試案例以便保證資料庫和應用程式的成功。在將來,甚至簡單的測試案例也可以組成更復雜的資料庫和應用程式分解。

步驟#6: 找一個良師 –一個良師能夠為你的DBA生涯(或者其它類似的職業)引領方向。他們能夠給你指示,回答問題以及在你的DBA的成長過程中幫助你節約一些時間。但願這篇文章能夠在你事業發展的一段時間內起到良師益友的作用。假如你與一名資深的DBA共同工作,那麼那個人應該有責任為你的事業進行有益的指導。你也可以同時選擇其他的人指導你。

步驟#7: 參加本地使用者群 –許多跨國家的城市有本地使用者群,他們定期聚會討論資料庫相關的話題。假如可能,參加其中一個本地使用者群。這將給你一個與他人相互交流的很好的方法。

我如何能夠從一名DBA初學者變為一個具有中級水平的DBA?

你已經成為DBA一段時間了,你現在希望你的技術水平提高一階麼?下一步該怎麼做?首先,往回看前面的部分,確認你已經完成了所有的步驟。徹底理解SQL語言是十分重要的。理解關係型資料庫理論和掌握基本的資料庫管理任務也是非常重要的。到如今,你應該閱讀文件和其他書籍到已經鬱悶了。假如沒有,那麼你還沒準備好繼續深造,增長你的DBA的技術水平。假如你已經準備好繼續了,我已為你的繼續深造準備了一些方法。

步驟#1: 學習作業系統和你的伺服器硬體 – 正如我前面所說,資料庫存在於作業系統和伺服器硬體之上。理解這些組成部分如何工作是很必要的。你應該知道如何與特殊的作業系統相合。你如何刪除或者編輯檔案?假如你的作業系統是Unix,你應該掌握命令列以及Unix命令如何輔助你工作。對於執行在Windows或其他作業系統上而言也是一樣的。你同時需要對伺服器的硬體有一定的瞭解。實體記憶體和虛擬記憶體有什麼區別?RAID是什麼以及不同的級別是如何產生影響的?為什麼資料庫喜歡更多的物理硬碟而非一個大硬碟卷?你需要知道這些事情以便你能夠容易的與系統管理員進行如何配置好你的伺服器以便使它能夠充分的支援資料庫方面的交談。

步驟#2: 學習應用程式設計因為它與資料庫相關 – 如前面所述,資料庫存在於作業系統與資料庫

應用程式之間。你真的需要這兩者。SQL語言是如何幫助建立好的應用程式的?繫結變數是什麼並且為什麼他們很重要?Tom Kyte 寫了一本非常好的書,在Oracle應用程式設計上給出了很好的建議。他的Expert One-on-one Oracle書可在 Wrox Press找到。我強烈推薦閱讀此書。他詳細的敘述了那些能夠生成和破壞Oracle應用程式的東西。你需要知道這些,因為你的應用程式開發人員希望從你這裡得到指導和資料庫知識。學習任何與應用程式設計有關的知識。也許參加一個關於軟體工程,作業系統或資料結構的課程班會有好處。

步驟#4: 取得認證 – 也許你的工作並不需要,但是取得認證一定對你有益。作為DBA的每一天裡,你學到了許多新的和令人激動的事情。也許在你職業生涯的這段時間裡,有幾天你沒學到任何新的東西。但你仍然有很多要學習。成為一名OCP(Oracle Certified Professional) DBA要求你必須已經學到了資料庫管理所有方面的基礎。我發現在OCP考試的學習過程中,我學到了在我工作中從未接觸過的東西。一次我學到了我從未碰到過的一個特殊課題,在後來的日子裡我就能夠使用那個知識解決問題。假如我從為在OCP考試中學倒它,那麼我永遠也不會用那種特殊的方法去解決問題。這已經一次次的發生在我的面前。有的人可能會說認證實際上真的不值得。我要說它只會對你有益無害。所以,去取得認證吧!

步驟#5: 獲得一個資源庫 – 在前面的部分中,我指出每個DBA都應該在Technet上有個賬號。這是你其中一個主要資源。但是同時還有許多其他資源。很多人共享他們的Oracle知識。假如你還沒有開始,你應該用網路瀏覽器去搜尋並收集很多Oracle資源。願意的話,你可以從訪問我的網站(http://www.peasland.net)開始。

下面是一些Oracle DBA必須瞭解得網站列表:
ü Ask Tom – http://asktom.oracle.com
ü Jonathan Lewis web site - http://www.jlcomp.demon.co.uk/
ü Ixora (Steve Adams) – http://www.ixora.com.au
ü Orapub – http://www.orapub.com
ü Metalink (Oracle支援網站) – http://metalink.oracle.com

還有許多其它的好網站。

步驟#6: 開始在不同的新聞組和論壇上交流 – 也許你已經發現了他們,但假如現在你還沒有那麼是時候去開始了。有許多的新聞組和論壇可以回答你的任何Oracle問題。在Oracle群落裡還有許多高手願意和你共享他們的知識。你所要做的就是提問。下面是一個列表包含了可以開始交流的最好的因特網團體:

ü Usenet newsgroups – comp.databases.oracle.server 和 comp.databases.oracle.misc 是兩個可以交流的非常著名的世界性的新聞組。他們擁有大量的針對Oracle問題的交流卷宗。觀看這些組的最好的方法式使用新聞廣播員。但是假如你想通過基於web的方式訪問,也可以通過Google搜尋引擎搜尋它。 (http://groups.google.com/groups?hl=...atabases.oracle)
ü Quest Pipelines – 當他們在最開始還屬於軟體提供商RevealNet的時候,被稱為the RevealNet Pipelines。現在,Quest購買了RevealNet 並且擁有Pipelines 。因為Pipelines是中等的,所以這些是我最喜歡的。你可以在這裡找到Pipelines (http://www.quest-pipelines.com/index.asp)。

觀察別人是如何經歷考驗和磨難的是一件好事。假如你有問題,可以自由的在群裡提出來。假如你要提出問題,通常應該包括一些資訊,比如你的Oracle版本和Oracle執行的平臺。這些將會得到有很大的差別的答案。假如你忘記了,會有人提醒你!甚至你不用提問也可以從其他人的答案中學到許多知識。我已經記不得多少次我之所以能夠解決問題完全是因為我記得其他人在新聞組裡問過相同的問題。

我如何從一名具有中級水平的DBA轉變為一名高階DBA?

好,作為DBA你已經堅持不懈的努力了很長時間。你感到自己已經準備好往前再走一步。成為一名高階DBA需要什麼?下面的部分將幫助你走下去。

步驟#1: 閱讀所有的文件 – Oracle文件通常並不是很容易閱讀的。無數次,你翻閱文件只是為了要弄清整件事情。假如文件是最好的東西,那麼那些站在你的書架裡的Oracle書籍就不會有市場。但是文件確實包含了一些無法在任何其他地方找到的資訊。例如,你無法找到每一個專門的INIT.ORA引數或V$檢視的詳細說明。書本上也許會涉及一部分,但是Oracle文件卻包含它們所有。我遇到過一個非常厲害的高階DBA,他沒有從頭至尾的閱讀過Oracle文件。這不是偶然的。Oracle文件是必須閱讀的。也許到現在為止你已經讀過Oracle概念指導十二遍了。但是當Oracle 10i釋出了,你還要再次閱讀。任何有關10i的新概念將在文件裡記錄。假如你真的想更上一層,那麼,去閱讀那些文件。不要逃避它。

步驟#2: 成為一名專家 – Oracle資料庫是一個非常複雜的東西。為了更上一層,你必須精通產品的許多組成部分。以備份與恢復開始。成為一名備份與恢復的專家。故意的破壞資料庫然後察看如何恢復它。嘗試以任何可能的方式破壞資料庫然後檢視還有沒有可能恢復。你將徹底的理解備份與恢復的概念。在你成為了備份與恢復的專家以後,再去成為其他領域的專家。你會有無窮無盡的題目要去掌握。在你整個職業生涯中都保持如此。但是請記住,無論你有多麼專業,在某些領域,某些人會在某些方面知道的比你多。不要帶個人情緒。只是儘可能多的從那個人那裡學到知識。

Route #3: 積極參加新聞組,論壇和使用者組 – 在前面,我提過為什麼不同的新聞組和論壇是學習新知識的很好的地方。現在輪到你進行下一步並且去回答任何你能夠回答的問題。你將會驚訝於在這過程中你能學到那麼多!

Route #4: 寫白皮書並且展示它們 – 這與前面提到的方法類似。首先,共享你擁有的知識是很重要的。假如你的職業生涯已經走到這一步,那麼從某種意義上講,是離不開他人的貢獻的。所以,現在是你為他人奉獻的時候了。第二,當你企圖共享你的資訊的時候會有令人驚異的事情發生。在你要用清楚的,簡練的語言表述問題以便其他人能夠使用時,那些資訊在你的頭腦裡經過了一個令人瞠目的過程。這個過程使你鞏固了知識,這是無法通過其它方法進行的。所以在白皮書中共享那些資訊,討論會,以及新聞組和論壇都是你學習和使你的能力更上一層的非常好的方法。順著這條路,你應該作兩件事。第一,認識到你將會犯錯誤。其他人將會很高興的指出那些錯誤,有時在某種意義上那並不是很好。不要企圖掩藏你的錯誤。承認它們並從它們那裡學習。第二,學會說你不知道答案而不是企圖以欺騙的方式通過。人們早晚會知道你在企圖矇蔽他們。簡單的告訴他們現在你對答案並不肯定,但你會在查到答案後回來告訴他們。假如你時刻謹記這兩件事,你就不會違揹你的誠實而且你將成長為一名職業的IT人。

步驟#5: 成為解決Oracle問題的專家– 高階DBA通常都是被看作是解決複雜的Oracle問題的人。你將會用到你所有的技術來解決許多問題,這些技術都是你的職業生涯中積累下來的。我前面提到的任何事都將會在解決問題的過程中用到;文件,書籍,新聞組,測試案例,和其它DBA都將輔助你解決問題。

步驟#6: 成為效能調優的專家– 高階DBA通常都是被看作是調整資料庫和應用程式效能的人。假如你是高階DBA但是你卻不能分析效能瓶頸,那麼你的公司將會到別處尋找這些服務。

步驟#7: 成為承載能力計劃的專家– 高階DBA通常都是被看作是根據資料增長量和交易增長來計劃資料庫承載能力的人。高階DBA需要在影響應用程式效能以前發現系統瓶頸。例如,DBA應該知道在資料庫將可用的磁碟空間用完以前預置更多的磁碟空間。不密切關注承載能力計劃將會導致生產資料庫當機。

步驟#8: 密切關注新的技術– 高階DBA應該對IT界的關資料庫技術的未來有好的建議。有什麼可用的技術可以幫助資料庫?例如,學習儲存領域網的優缺點以及如何把它們應用到資料庫系統。有什麼技術在不遠的將來可以用,哪些能夠幫助我們?例如,寫這篇文章的時候,linux作業系統正在變得越來越流行。Lunix會給你的資料庫作業系統平臺帶來些什麼?它能為你的公司工作麼?

DBA的薪資

有很多因素影響到你作為DBA的薪資:你的經驗和能力所決定的DBA等級 你所熟悉的資料庫系統 你的個性特點和潛力

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23577591/viewspace-691895/,如需轉載,請註明出處,否則將追究法律責任。

相關文章