① 要成為一名dba,應該怎麼學習
看書,靠自己,要成為DBA那麼資料庫里的東西就都是重點了,沒有什麼用到用不到的,因為你將來面對的當時各種各樣的問題,如果是零基礎的話,就從最基本的學起,首先要熟練的掌握sql語句,然後不斷的學習各種主流的資料庫軟體,軟體沒什麼學的只是要很清楚他們的特性,建議開始從Oracel學起,因為Oracel里邊的SQL語句很標准,然後在接觸DB2等其他資料庫管理軟體,要注意的是要多積累經驗,最好把自己的發現,和要注意的問題記錄下來。
② 從dba的角度,有哪些手段進行數據安全性的保障
有人說,資料庫管理員(DBA)有三個基本任務。按照重要性大小的順序進行排列,它們分別是:保護數據、保護數據再保護數據。
雖然數據完整性顯然是DBA的首要職責(如果數據「質量」不好的話,誰在乎資料庫是不是可用的或快速的),不過除此之外,他還有很多其它工作要做。下面就列出了一個DBA日常執行的實際工作。(有些任務是所有DBA通用的,其它的則是需要在某些特殊的資料庫環境才需要完成的)。
DBA的一般任務
◆安裝、配置、升級和遷移
雖然系統管理員通常負責安裝、維護伺服器上的硬體和操作系統,不過資料庫軟體的安裝通常是由DBA負責的。要勝任這一工作需要了解什麼樣的硬體配置才能使一個資料庫伺服器發揮最大的作用,並且還要就這些硬體需求與系統管理員進行溝通。在完成了上述工作之後,DBA就著手安裝資料庫軟體,並從各種不同的產品配置選項中選擇一個與硬體匹配的並且能使資料庫效率最高的方案。當有新版本的資料庫或者補丁包發布時,決定是否要用或者用哪一個升級或補丁包也是DBA的工作之一。如果企業購買了新的資料庫伺服器,那麼DBA也要負責將數據從原有資料庫伺服器中遷移到新的伺服器上來。
◆備份和恢復
DBA負責為他們所管理的資料庫制定、實施並定期測試資料庫備份和恢復方案。即使在一個大型企業中有一個單獨的系統管理員專門負責資料庫的備份工作,不過最終的決定權還是由DBA掌握---他來確保備份工作要如期完成,並且在資料庫出現故障執行恢復工作後,能包含所需要的所有文件。當資料庫故障發生時,DBA需要知道如何使用備份使資料庫返盡快回到正常狀態,會丟失任何所完成的事務。資料庫出現故障的原因可能又很多種,當出現故障時,DBA必須能很快就能判斷出故障所在並採取有效的應對策略。從商業的角度來看,資料庫備份是有成本的,DBA需要讓企業的管理人員知道各種資料庫備份方法的成本和風險。
◆資料庫安全
因為資料庫主要負責集中存儲數據,這些數據有可能是非常機密並且非常有價值的,因此資料庫往往是黑客甚至好奇的員工最感興趣的目標。DBA必須了解所用資料庫產品的詳細安全模型、該資料庫產品的用途、以及如何使用它來有效地控制數據存取。DBA最基本的三個安全任務是驗證(設置用戶帳戶控制用戶登錄資料庫)、授權(對資料庫的各部分設置許可權,防止非法用戶訪問)、審計(跟蹤用戶執行了什麼資料庫操作)。就目前而言,因為監管法規比如Sarbanes-Oxley 和HIPAA的報告要求必須得到滿足,這使得資料庫審計工作尤為重要。
◆存儲和容量規劃
創建資料庫得一個主要目就是存儲和檢索數據,所以規劃需要多少磁碟存儲空間和監測可用的磁碟存儲空間是DBA的關鍵責任。觀察數據的增長趨勢也是非常重要的,因為只有這樣DBA才能向企業的管理層提出一個長遠的存儲容量規劃。
◆性能監控和調整
DBA負責定期監測資料庫伺服器,從而找出資料庫瓶頸(使資料庫性能降低的某些部分)並制定補救措施。對資料庫伺服器的調整工作要在多個層次上完成。資料庫伺服器硬體的性能以及操作系統的配置都可能成為造成資料庫瓶頸的因素,同樣資料庫軟體的配置也是如此。資料庫在磁碟驅動器上的物理安裝方式以及索引的選擇對於資料庫的性能也有影響。資料庫查詢的編碼方式也可能顯著改變查詢結果返回的快慢程度。DBA需要了解在上述各個層次需要用哪些監測工具,以及如何使用它們來調整系統。從應用設計一開始把性能因素考慮在內是積極主動調整的反映,而不是等待問題發生之後再去修復它們。DBA還需要與資料庫應用開發人員緊密合作,以確保應用是按照最佳方式開發出來的,並且能帶來良好的性能。
◆疑難解答
當資料庫伺服器出現某些差錯的時候,DBA需要知道如何快速確定問題所在並正確地解決問題,保證不丟失數據或使情況變得更糟。
特殊環境下DBA的任務
除了上述基本職責外,由於某些特殊的資料庫環境,一些DBA們還需要掌握一些特別的技巧。
◆高可用性
隨著互聯網時代的到來,過去那種資料庫只需要在白天正常運轉的時代已經結束了,現在資料庫必須能夠提供須提供每周7天每天24小時的全天候服務。網站也已經從靜態的、預定義的內容發展成為動態創建的內容---在頁面請求發送過來之後,使用資料庫創建頁面布局。如果網站是全天候可用的,那麼支持網站的基礎資料庫也必須能夠全天候工作。在這種環境下管理資料庫,DBA需要知道哪些類型的維護業務可以在線完成(也就是在不中斷資料庫運行的情況下),以及在資料庫有可能關閉時制定一個維護「期限」。此外,DBA還要規劃為冗餘的資料庫硬體和軟體組件,以便萬一資料庫出現故障時,冗餘系統仍然能夠繼續要用戶提供服務。DBA可以使用在線備份、集群、復制和應急資料庫等技術和工具確保更高的可用性。
◆大型資料庫(VLDB)
隨著企業發現資料庫技術的用途越來越多,他們往往用它來保存更多的數據。此外,資料庫存儲的數據類型也發生了變化,從過去行列整齊的結構化數據發展現在的非結構化數據,比如文件、圖像、聲音、甚至指紋。這兩種趨勢帶來的結果是一樣的:那就是大型資料庫(VLDB)的出現。要管理VLDB,DBA需要特殊的技能。過去被認為是非常簡單的操作比如復制一個表,所需要的時間可能是非常巨大的。為了保證資料庫擴展到非常大的規模時仍然是可管理的,DBA需要了解一些技術,比如表分割(Oracle)、聯合資料庫(SQL Server)和復制(MySQL)等等。
◆數據提取、轉化和載入(ETL)
在數據倉庫環境中,一個非常關鍵的任務是如何有效地載入數據倉庫或數據集市中的大量數據,而這些數據是從多個現有的生產系統中提取的。通常情況下,這些生產系統的格式與數據倉庫中的標准化定義是不同的,所以數據在載入之前必須要轉化(或「清洗」)。在一個特定的公司里,提取數據可能是也可能不是DBA的責任,但是DBA需要確定什麼樣的提取是有用的,它是資料庫決策團隊一個關鍵組成部分。
③ oracle資料庫DBA需要掌握的技能
Linux,solaris或其他unix起碼要一種、bash (精通)、perl、Java了解一些就夠了、oracle sql、
oracle rac、pl/sql等。
是在自學嗎?有同事或朋友帶比較好,如果沒有 不建議自己摸索,會走很多彎路,還會有一些錯誤的概念,建議去培訓學習。我當時也是自學,進度非常慢,後來報的CUUG DBA班,4個月學出來了。
④ 如何成為一個DB2的DBA
首先DBA是Database Administration的縮寫,中文就是資料庫管理,它和資料庫開發是不一樣的,管理的核心是保證數據安全,具體來說就是明確資料庫中各個用戶的許可權,不同的人員授予不同的許可權,防止誤刪數據。另外就是制定備份策略,是把資料庫設置為線性日誌呢,還是設置為循環日誌,然後對那些表特殊的備份。還有聯邦資料庫的創建管理,以及HADR的資料庫的實現,事務日誌的管理,內存調優,性能優化,創建資料庫,創建實例,創建DAS
所以關鍵是命令了。但是有一點可以確定,你不必精通SQL。只需要能夠創建項目所需的資料庫,並且能夠保證數據安全,運行速度不要太慢,就可以了。
⑤ 初級DBA需要掌握哪些技能
DBA(資料庫管理員) 一個合格的dba應該具備如下技能: 1、熟練操作各種SQL語句 2、熟悉資料庫中許可權和用戶的管理,具備一定的網路安全知識 3、具備資料庫恢復、備份技巧 4、對資料庫系統所在的操作系統有一定的認識和管理能力,因為資料庫系統是不能脫離操作系統獨立運行的。
⑥ 想從事DBA的工作即資料庫管理員,但是實力不夠,需要怎樣做呢
DBA資料庫管理員要求:
近年來,我一直在和資料庫管理員打交道,並直接面試了很多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在國內是非常少的。他們購買了太多的資料庫方面的英文資料,也許是托朋友從Amazon買的。相對於他們的報酬來講,買書的錢是很少的一個比例。高級DBA一般都熟悉很多種操作平台下的幾種大型資料庫。他們知道各種不同資料庫在不同環境下的優勢和劣勢,並能在資料庫平台和資料庫環境的選擇方面做出決策。他們一般通曉系統架構和資料庫設計,並能對資料庫進行各種級別的優化。高級DBA一般都配有助手,他們更偏向做決策和計劃。高級DBA往往在銀行業、保險業、在線交易等對穩定性、安全性、性能都要求比較高的關鍵業務處理領域大顯身手。
很多時候,是否取得資料庫專家認證證書並不是很重要。我知道很多資料庫廠商的培訓只要你去了都會獲得證書。有很多的公司提供商業化的培訓,他們的服務質量也有好有劣。所以證書並不是特別地有意義。
幾種流行的資料庫系統
最"容易"的資料庫系統-Microsoft SQL Server
如果你打算做一個DBA,建議你選擇那些現在比較流行的資料庫系統。這意味著你將有更多的就業機會、交流和培訓機會,而且,流行自有流行的理由,你可以因此省心很多。當然,就業競爭壓力也比較大。一般的入門者選擇Microsoft SQL Server,這是非常適合中小型企業的資料庫系統,熟悉Access的讀者很容易就能初步使用Microsoft SQL Server,成為一個DBBS。 J
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的薪資
有很多因素影響到你作為DBA的薪資:
你的經驗和能力所決定的DBA等級 你所熟悉的資料庫系統 你的個性特點和潛力 下面的表說明了國內DBA人員的基本薪資狀況,並說明了DAB等級和你所熟悉的資料庫系統怎樣影響到DBA的薪資。當然,這只是我個人掌握的情況,只能在一定程度上代錶行業的平均水平。
DBA等級資料庫系統 初級DBA年薪(萬元) 中級DBA年薪(萬元) 高級DBA年薪(萬元) Oracle 4 8 11 Microsoft SQL Server 3 5 8 IBM DB2 4 8 10 Sybase 3.5 6 8 Informix 4 7 10 註:每年按13個月計算。
⑦ 做oracle資料庫的DBA應該會哪些技能對於SQL語言上有什麼要求
DBA可以不會sql得,但是sql那麼簡單,沒有哪個dba不會的。
dba日常就是要做好資料庫維護,監控,日誌,數據備份,優化等等,很多的。
⑧ 資料庫管理員的技術能力
DBA以技術為基礎,通過技術保障資料庫提供更高質量的服務。DBA工作的職責及在業務中的位置決定了DBA需要具備更加廣博的知識和深入的技術能力。在資料庫環境的管理與維護中,技術任務可歸結成許多不同的分類。下面列出了一名DBA應掌握的一些技術(排名不分先後)。
1、理解數據備份/恢復與災難恢復
恢復已損壞的資料庫是每一個DBA應掌握的最重要的技能。DBA需要完全理解資料庫所有可能的備份與恢復方法,以及不同備份方法與不同恢復策略的對應關系。此外,DBA還需要與業務部門合作,一起確認業務需求,明確用戶能夠容忍的數據丟失底線。此外,業務用戶還需要確定在系統故障情況下,他們的業務能夠維持多長時間。理解這些需求可以幫助DBA開發出一個滿足業務用戶要求的備份/恢復方法。一個優秀的DBA要定期測試備份與恢復流程,保證他們有能力恢復業務數據,滿足企業所規定的業務數據丟失與恢復要求。
2、工具集的使用
所謂工具集,指是的他們要有一組用於執行不同DBA任務的腳本。這個工具集應該包含不同的小代碼片段,它們可以快速診斷問題或執行一個特定的任務。這些工具腳本應該按DBA的活動類型歸類,如備份、索引維護、性能優化、容量管理等。由於總是會執行新任務、發現新問題或找到其他人開發的好用腳本,因此一個優秀的DBA會不斷地給這個工具集增加新腳本。此外,他還應該了解網上哪裡能夠找到一些免費的工具和腳本。一個好的DBA知道什麼時候可以利用其他人編寫的腳本,從而節省自己的時間和改進自己的工具集。
3、知道如何快速尋找答案
資料庫每天會面臨各種各樣故障的挑戰,從硬體到網路,從性能壓力到程序bug,DBA都要從容應對,一一排除。即使是資料庫大牛,也不可能是無所不知的,因此每個DBA一方面需要不斷修煉自己,積累操作系統、網路、硬體、存儲系統、分布式計算等理論基礎,另一方面還要有快速尋找新問題解決方法的能力。如果一個資料庫實例不能按預期方式運轉,那麼快速尋找新問題的解決方法也是一個重要能力。一個好的DBA知道如何快速地在網上查找一個未知問題的解決方法。此外,他們也可能已經知道了一些非常不錯的網站,也知道業界專家會提供一些好建議,同時知道什麼時候應該忽略一些不好的建議。你可能想像不到,確實有一些建議不值得參考。
4、知道如何監控和優化資料庫性能
對於任何資料庫產品,性能都尤其重要,它會直接影響產品的響應速度和用戶體驗。對於一個DBA來說,性能優化一般需要佔用50%的工作時間,因此DBA需要知道如何監控和優化數據性能。
以SQL Server舉例,性能是一個關鍵的問題,因此DBA需要知道如何修復故障和監控性能問題。有許多第三方性能監控工具可以幫助DBA優化性能。如果DBA只使用第三方工具,而不會使用SQL Server自帶的原生工具來監控性能,那麼相信很快就會出現問題。雖然使用第三方工具來監控性能也很不錯,但是DBA一定要理解SQL自帶的一些原生工具,如SQL Server Profiler、Database Engine Tuning Advisor、Dynamic ManagementViews、系統/擴展的存儲過程、Extended Events等。許多第三方工具實際上在使用這些底層的原生工具。因此,理解這些自帶的原生工具將有利於增強DBA使用第三方工具的經驗。
5、研究新版本
在技術領域中,沒有什麼是一成不變的。每隔兩三年,主流資料庫廠商都會發布一個大版本的更新。DBA應該緊跟新版本所作的修改,它們可能有許多變化方法,最好的方法是遲早介入這個過程。測試版開放後馬上下載和安裝,盡快掌握第一手使用經驗。一名好的DBA總是走在學習排頭兵,總是會第一時間安裝和測試新版本。這樣他們就可以盡早理解新特性,然後提出一些合理的新建議,幫助組織更好地利用新版本資料庫。
6、理解代碼最佳實踐方法
DBA應該了解如何編寫高效的代碼。有許多糟糕的編碼實踐方法會導致拙劣的性能。一名好的DBA要能夠理解和識別這些糟糕的編碼實踐方法,知道如何修改這些爛代碼,讓它們變成高效代碼。此外,他們還要記錄下寫代碼的最佳實踐方法,並且將這些實踐方法分享給其他人。
7、持續不斷地學習
資料庫及其組件涉及面非常廣。DBA很難理解一個技術的方方面面。DBA需要持續學習如何管理資料庫。這個學習過程有很多方法。其中之一就是參加正式培訓。但是,並非人人都有這樣充裕的事件和金錢,也並非人人都能夠放下手頭工作專門出去參加正式的培訓。但是,還有許多其他方法可以獲得培訓,而且大多數還是免費的。一名好的DBA一定要訂閱一些定期發布資料庫新技巧和新文章的社區網站。此外,他還應該加入一些用戶組織,可以在周末參加一些當地的免費沙龍活動。
8、資料庫安全性
安全性是一個熱門話題。DBA應該完全掌握如何實現資料庫的安全訪問。他們應該理解操作系統身份驗證和資料庫身份驗證的區別,以及它們各自的使用場合。他們應該理解如何使用資料庫角色來管理不同類型用戶的安全配置。他們應該理解連接資料庫的埠與協議。此外,他們還應該理解如何加密整個資料庫,或者加密一個資料庫中一個表的某一個欄位,同時理解關於加密數據的各種問題。
9、資料庫設計
決定資料庫性能的一個關鍵問題是資料庫設計。DBA需要理解關於資料庫設計的各個方面。他們要能夠理解設計好壞的區別。他們需要理解為什麼使用正確的外鍵約束、主鍵、檢查約束和使用數據類型能夠保持資料庫的數據完整性和實現高效的數據查詢與更新。
10、索引設計
資料庫索引是提高應用程序檢索和更新數據速度的重要環節。DBA需要知道索引的工作原理。他們應該知道聚簇索引和非聚簇索引的區別,知道這些索引的物理存儲方式。DBA應該知道如何在執行計劃中使用這些索引。他們應該理解如何找到索引的使用統計、理解索引碎片及如何發現丟失的索引。他們應該知道如何維護索引,以及索引統計信息對於查詢引擎的重要作用。
11、容量監控與規劃
資料庫往往要使用大量的資源,包括CPU、內存、I/O及磁碟空間。DBA應該理解如何監控資料庫所需要的不同主機資源的用量。他們應該能夠理解這些資源在不同時間的使用情況,以及利用歷史使用數據來規劃未來的容量需求。在監控過程中,DBA應該能夠預見到容量規劃會在將來什麼時候出現問題,然後採取必要的措施保持資料庫不會因為容量限制而出現中斷。
12、資料庫許可證
不同的產品有許多不同的許可證授權方式。而且,同一款產品本身又有許多不同的版本。DBA應該理解所負責的資料庫版本的不同授權模式。他們應該能夠提供指導如何通過合理購買授權來減少資料庫總擁有成本,以及如何合理利用授權方法來降低未來版本的升級成本。
13、盡可能實現自動化
DBA每天都需要執行許多的日常任務。其中一些任務需要每天執行,而另一些則每周、每月或每年執行。一名好的DBA需要理解如何高效地安排自己的時間。其中一種方法是建立工作流程,這些日常任務的自動執行。通過實現日常任務的自動化執行,DBA就可以用更多的時間去關注於資料庫環境管理中遇到的嚴重問題。
你具備的特質越多,作為DBA的你就越優秀。成為一名成功DBA的關鍵是不斷地學習與提高,努力去掌握更多關於如何管理和維護資料庫環境的知識 。