DBA

DBA

職業名稱
數據庫管理員(Database Administrator,簡稱DBA),是從事管理和維護數據庫管理系統的相關工作人員的統稱,是屬于運維工程師的分支,主要負責業務數據庫從設計、測試到部署交付的生命周期管理。核心目标是保證數據庫管理系統的穩定性、安全性、完整性和高性能。
    中文名:數據庫管理員 外文名: 别名: 英文名:Database Administrator 簡稱:DBA 工作内容:負責管理維護數據庫服務器 主要負責:業務數據庫從設計、測試等

重要性

一個小的軟件開發工作室和一個分工高度明細的大公司相比,DBA的職責來得更加寬泛一些。一個公司,不管它是自己開發應用軟件,還是購買第三方的應用軟件,隻要涉及到數庫就需要确定是否雇傭一個或幾個DBA。知道DBA這個職位有哪些要求,對于企業内部這個職位的定義或者對于那些未來的DBA将是至關重要的。

職業技能

技術是指DBA執行一項任務時所需要的技能。在數據庫環境的管理與維護中,技術任務可歸結成許多不同的分類。下面列出了一名DBA應掌握的一些技術(排名不分先後)。

理解數據備份/恢複與災難恢複

恢複已損壞的數據庫是每一個DBA應掌握的最重要的技能。DBA需要完全理解數據庫所有可能的備份與恢複方法,以及不同備份方法與不同恢複策略的對應關系。此外,DBA還需要與業務部門合作,一起确認業務需求,明确用戶能夠容忍的數據丢失底線。此外,業務用戶還需要确定在系統故障情況下,他們的業務能夠維持多長時間。理解這些需求可以幫助DBA開發出一個滿足業務用戶要求的備份/恢複方法。一個優秀的DBA要定期測試備份與恢複流程,保證他們有能力恢複業務數據,滿足企業所規定的業務數據丢失與恢複要求。

工具集的使用

所謂工具集,指是的他們要有一組用于執行不同DBA任務的腳本。這個工具集應該包含不同的小代碼片段,它們可以快速診斷問題或執行一個特定的任務。這些工具腳本應該按DBA的活動類型歸類,如備份、索引維護、性能優化、容量管理等。由于總是會執行新任務、發現新問題或找到其他人開發的好用腳本,因此一個優秀的DBA會不斷地給這個工具集增加新腳本。此外,他還應該了解網上哪裡能夠找到一些免費的工具和腳本。一個好的DBA知道什麼時候可以利用其他人編寫的腳本,從而節省自己的時間和改進自己的工具集。

知道如何使用原生性能工具

以SQL Server舉例,性能是一個關鍵的問題,因此DBA需要知道如何修複故障和監控性能問題。有許多第三方性能監控工具可以幫助DBA優化性能。如果DBA隻使用第三方工具,而不會使用SQL Server自帶的原生工具來監控性能,那麼相信很快就會出現問題。雖然使用第三方工具來監控性能也很不錯,但是DBA一定要理解SQL自帶的一些原生工具,如SQL Server Profiler、Database Engine Tuning Advisor、Dynamic ManagementViews、系統/擴展的存儲過程、Extended Events等。許多第三方工具實際上在使用這些底層的原生工具。因此,理解這些自帶的原生工具将有利于增強DBA使用第三方工具的經驗。

研究新版本

在技術領域中,沒有什麼是一成不變的。每隔兩三年,主流數據庫廠商都會發布一個大版本的更新。DBA應該緊跟新版本所作的修改,它們可能有許多變化方法,最好的方法是遲早介入這個過程。測試版開放後馬上下載和安裝,盡快掌握第一手使用經驗。一名好的DBA總是走在學習排頭兵,總是會第一時間安裝和測試新版本。這樣他們就可以盡早理解新特性,然後提出一些合理的新建議,幫助組織更好地利用新版本數據庫。

理解代碼最佳實踐方法

DBA應該了解如何編寫高效的代碼。有許多糟糕的編碼實踐方法會導緻拙劣的性能。一名好的DBA要能夠理解和識别這些糟糕的編碼實踐方法,知道如何修改這些爛代碼,讓它們變成高效代碼。此外,他們還要記錄下寫代碼的最佳實踐方法,并且将這些實踐方法分享給其他人。

持續不斷地學習

數據庫及其組件涉及面非常廣。DBA很難理解一個技術的方方面面。DBA需要持續學習如何管理數據庫。這個學習過程有很多方法。其中之一就是參加正式培訓。但是,并非人人都有這樣充裕的事件和金錢,也并非人人都能夠放下手頭工作專門出去參加正式的培訓。但是,還有許多其他方法可以獲得培訓,而且大多數還是免費的。一名好的DBA一定要訂閱一些定期發布數據庫新技巧和新文章的社區網站。此外,他還應該加入一些用戶組織,可以在周末參加一些當地的免費沙龍活動。

數據庫安全性

安全性是一個熱門話題。DBA應該完全掌握如何實現數據庫的安全訪問。他們應該理解操作系統身份驗證和數據庫身份驗證的區别,以及它們各自的使用場合。他們應該理解如何使用數據庫角色來管理不同類型用戶的安全配置。他們應該理解連接數據庫的端口與協議。此外,他們還應該理解如何加密整個數據庫,或者加密一個數據庫中一個表的某一個字段,同時理解關于加密數據的各種問題。

數據庫設計

決定數據庫性能的一個關鍵問題是數據庫設計。DBA需要理解關于數據庫設計的各個方面。他們要能夠理解設計好壞的區别。他們需要理解為什麼使用正确的外鍵約束、主鍵、檢查約束和使用數據類型能夠保持數據庫的數據完整性和實現高效的數據查詢與更新。

索引設計

數據庫索引是提高應用程序檢索和更新數據速度的重要環節。DBA需要知道索引的工作原理。他們應該知道聚簇索引和非聚簇索引的區别,知道這些索引的物理存儲方式。DBA應該知道如何在執行計劃中使用這些索引。他們應該理解如何找到索引的使用統計、理解索引碎片及如何發現丢失的索引。他們應該知道如何維護索引,以及索引統計信息對于查詢引擎的重要作用。

容量監控與規劃

數據庫往往要使用大量的資源,包括CPU、内存、I/O及磁盤空間。DBA應該理解如何監控數據庫所需要的不同主機資源的用量。他們應該能夠理解這些資源在不同時間的使用情況,以及利用曆史使用數據來規劃未來的容量需求。在監控過程中,DBA應該能夠預見到容量規劃會在将來什麼時候出現問題,然後采取必要的措施保持數據庫不會因為容量限制而出現中斷。

數據庫許可證

不同的産品有許多不同的許可證授權方式。而且,同一款産品本身又有許多不同的版本。DBA應該理解所負責的數據庫版本的不同授權模式。他們應該能夠提供指導如何通過合理購買授權來減少數據庫總擁有成本,以及如何合理利用授權方法來降低未來版本的升級成本。

盡可能實現自動化

DBA每天都需要執行許多的日常任務。其中一些任務需要每天執行,而另一些則每周、每月或每年執行。一名好的DBA需要理解如何高效地安排自己的時間。其中一種方法是建立工作流程,這些日常任務的自動執行。通過實現日常任務的自動化執行,DBA就可以用更多的時間去關注于數據庫環境管理中遇到的嚴重問題。

性格要求

很多時候管理人員都忽視了DBA的個性特點,他們隻關注DBA的技術能力。實際上,上面談到的每個職責都意味着:DBA需要跟各種人員打交道,這些人員可能是銷售商、用戶、開發人員或者管理人員。這說明:DBA必須具有下面的個性特點:自信心、好奇心、堅韌的意志力、老練、自我驅動、注意細節。

幾乎所有的數據庫系統都在不停地更新。但并不是所有的更新都有技術文檔。對于好的DBA來說,好奇心是必需的。沒有好奇心和求知欲的DBA總是等待有人告訴他們答案。而一個求知欲強的DBA将安裝最新版本的數據庫系統,并立即開始搜尋那些哪怕是細微的功能和性能上的差異和增強,從而改進自己的工作。

DBA常常會碰到棘手的問題。尋找答案是一個需要堅韌意志力、可以經受摔打的個性特點。我常常在一些讨論組或者論壇上看到DBA們提出的問題,這些問題往往是提問者自己可以解決的,如果他們具有堅韌的個性特點,并努力尋求問題的答案。

自我驅動對每個人都是很重要的,對DBA尤其如此。DBA要能想辦法使問題出現,而不是等待問題的出現。自驅力強的DBA常常設法取得或者自己寫一些必要的腳本(Script)來監控包括數據表大小(Table Size)、表空間使用(Tablespace Usage)等項目,這些項目如果被忽視,将遇到麻煩。應試的時候DBA們常常被問及在PL/SQL、SQL或者SQL*PLUS方面的經驗,這些問題将把從來沒有編寫過自己需要的腳本的其他DBA們區分開。

關于注意細節,這種性格傾向非常重要。注意細節的DBA們衣着整潔,有自己的日程安排,在應試前對應聘的單位做過調查。注意細節的DBA們深入了解數據庫的内核,并能理解視圖、表之間的關系。

職業等級劃分

DBA的等級并不是很嚴格的。按照對數據庫的掌握情況,簡單地分成三個等級:初級Primary、中級Intermediate和高級Senior。

初級DBA又稱為DBBS,是英文Database Baby Sitter的縮寫。初級DBA常常是兼職的,他們往往同時是程序員或者兼任其他的工作。初級DBA往往把個人簡曆寫得很棒,參與了很多和數據庫有關的項目或工作。

但是,這些項目或者工作往往是:第三方軟件供應商已經安裝并配置了數據庫,隻做一些監控的工作。能處理一些簡單的問題,但大多數時候他們向應用軟件供應商求救。初級DBA更喜歡圖形化的數據庫管理或者監控工具,他們喜歡Access這樣的桌面數據庫簡單易用,并把這些小型數據庫的經驗簡單地應用到大型數據庫相關的工作中。

初級DBA是最好區分的。而中級DBA和高級DBA就不太好區分。他們的差别在于經驗的不同和個性特點、能力方面的差異。中級DBA比較多,他們可以勝任高級DBA的大部分工作,包括:

1、數據庫安裝;

2、數據庫配置和管理;

3、權限設置和安全管理;

4、監控和性能調節;

5、備份和恢複;

6、解決一般的問題;

中級DBA往往從業一年左右,熟悉某種操作系統環境下的數據庫。因為對中級DBA來講,Windows NT和Unix是有很大差别的。中級DBA對SQL比較熟悉,他們自己購買了幾本數據庫方面的書籍,并深入鑽研。中級DBA往往同時兼任數據庫程序員,他們的工作對性能、穩定性、安全性的追求基本上不是很高,往往配合高級DBA做一些例行工作。

高級DBA在國内是比較少的。高級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,意在獲得更好的适應性和多媒體支持。詳情如何,我們拭目以待!

職責

擁有大容量和複雜數據庫的公司通常任命數據庫管理員,根據所用的應用程序和軟件系統來指導數據庫分析員和程序員。數據庫管理員必須與科學技術和數據庫系統的新發展齊頭并進,以不斷改進數據庫運行。通過使當地運用信息技術于數據庫管理系統,數據庫管理員能夠顯著地最大化生産力,降低風險和成本。數據庫管理員的主要職責有以下幾個方面。

設計

數據庫管理員幫助确定:

數據庫設計,包括字段、表和關鍵字段;

資源在輔助存儲設備上是怎樣使用的,怎樣增加和删除文件及記錄,以及怎樣發現和補救損失。

監視

監控數據庫的警告日志。Alert.log,定期做備份删除。

Linstener.log的監控,/network/admin/linstener.ora。

重做日志狀态監視,留意視圖v$log,v$logfile,該兩個視圖存儲重做日志的信息。

監控數據庫的日常會話情況。

碎片、剩餘表空間監控,及時了解表空間的擴展情況、以及剩餘空間分布情況,如果有連續的自由空間,手工合并。

監控回滾段的使用情況。生産系統中,要做比較大的維護和數據庫結構更改時,用rbs_big01來做。

監控擴展段是否存在不滿足擴展的表。

監控臨時表空間。

監視對象的修改。定期列出所有變化的對象。文件,有初始化參數文件、用戶後台文件、系統後台文件。

安裝和升級數據庫服務器(如Oracle、Microsoft SQL server),以及應用程序工具。

數據庫設計系統存儲方案,并制定未來的存儲需求計劃。

一旦開發人員設計了一個應用,就需要DBA來創建數據庫存儲結構(tablespaces)。

一旦開發人員設計了一個應用,就需要DBA來創建數據庫對象(tables,views,indexes)。

根據開發人員的反饋信息,必要的時候,修改數據庫的結構。

登記數據庫的用戶,維護數據庫的安全性。

保證數據庫的使用符合知識産權相關法規。

控制和監控用戶對數據庫的存取訪問。

監控和優化數據庫的性能。

制定數據庫備份計劃,災難出現時對數據庫信息進行恢複。

維護适當介質上的存檔或者備份數據。

備份和恢複數據庫。

聯系數據庫系統的生産廠商,跟蹤技術信息。

備份

對數據庫的備份監控和管理數據庫的備份至關重要,對數據庫的備份策略要根據實際要求進行更改,數據的日常備份情況進行監控。由于我們使用了磁帶庫,所以要對legato備份軟件進行監控,同時也要對備份數據庫進行監控。

修改密碼

規範數據庫用戶的管理定期對管理員等重要用戶密碼進行修改。對于每一個項目,應該建立一個用戶。DBA應該和相應的項目管理人員或者是程序員溝通,确定怎樣建立相應的數據庫底層模型,最後由DBA統一管理,建立和維護。任何數據庫對象的更改,應該由DBA根據需求來操作。

SQL語句

對SQL語句的書寫規範的要求一個SQL語句,如果寫得不理想,對數據庫的影響是很大的。所以,每一個程序員或相應的工作人員在寫相應的SQL語句時,應該嚴格按照《SQL書寫規範》一文。最後要有DBA檢查才可以正式運行。

最終用戶服務和協調

數據庫管理員規定用戶訪問權限和為不同用戶組分配資源。如果不同用戶之間互相抵觸,數據庫管理員應該能夠協調用戶以最優化安排。

數據庫安全

數據庫管理員能夠為不同的數據庫管理系統用戶規定不同的訪問權限,以保護數據庫不被未經授權的訪問和破壞。例如,允許一類用戶隻能檢索數據,而另一類用戶可能擁有更新數據和删除記錄的權限。

深層次管理和研究

DBA深層次要求一個數據庫能否健康有效的運行,僅靠這些日常的維護還是不夠的,還應該緻力于數據庫的更深一層次的管理和研究:數據庫本身的優化,開發上的性能優化;項目的合理化;安全化審計方面的工作;數據庫的底層建模研究、規劃設計;各種數據類型的處理;内部機制的研究;ora-600錯誤的研究、故障排除,等等很多值得探讨的問題。ORACLE數據庫管理員應按如下方式對ORACLE數據庫系統做定期監控:

⑴每天對ORACLE數據庫的運行狀态,日志文件,備份情況,數據庫的空間使用情況,系統資源的使用情況進行檢查,發現并解決問題。

⑵每周對數據庫對象的空間擴展情況,數據的增長情況進行監控,對數據庫做健康檢查,對數據庫對象的狀态做檢查。

⑶每月對表和索引等進行Analyze,檢查表空間碎片,尋找數據庫性能調整的機會,進行數據庫性能調整,提出下一步空間管理計劃。對ORACLE數據庫狀态進行一次全面檢查。

日常工作

每日工作

⑴确認所有的INSTANCE狀态正常登陸到所有數據庫或例程,檢測ORACLE後台進程。

⑵檢查文件系統的使用(剩餘空間)。如果文件系統的剩餘空間小于20%,需删除不用的文件以釋放空間。

⑶檢查日志文件和trace文件記錄alert和trace文件中的錯誤。連接到每個需管理的系統使用‘telnet’對每個數據庫,通常是使用Unix‘tail’命令來查看文件,如果發現任何新的錯誤,記錄并解決。

⑷檢查數據庫當日備份的有效性。對RMAN備份方式:檢查第三方備份工具的備份日志以确定備份是否成功;對EXPORT備份方式:檢查exp日志文件以确定備份是否成功;對其他備份方式:檢查相應的日志文件。

⑸檢查數據文件的狀态記錄狀态不是“online”的數據文件,并做恢複。

⑹檢查表空間的使用情況

⑺檢查剩餘表空間;

⑻監控數據庫性能,運行bstat/estat生成系統報告或者使用statspack收集統計數據;

⑼檢查數據庫性能,記錄數據庫的cpu使用、IO、buffer命中率等等,使用vmstat,iostat,glance,top等命令。

⑽日常出現問題的處理。

每周工作

⑴控數據庫對象的空間擴展情況根據本周每天的檢查情況找到空間擴展很快的數據庫對象,并采取相應的措施--删除曆史數據---擴表空間,調整數據對象的存儲參數。

⑵監控數據量的增長情況根據本周每天的檢查情況找到記錄數量增長很快的數據庫對象,并采取相應的措施--删除曆史數據---擴表空間。

⑶系統健康檢查。

⑷檢查無效的數據庫對象。

⑸檢查不起作用的約束。

每月工作

1、檢查表空間碎片根據每月每周的檢查分析數據庫碎片情況,找到相應的解決方法。

2、尋找數據庫性能調整的機會比較每天對數據庫性能的監控報告,确定是否有必要對數據庫性能進行調整。

3、數據庫性能調整如有必要,進行性能調整。

4、出下一步空間管理計劃根據每周的監控,提出空間管理的改進方法。

日常管理

每日維護程序

A檢查已起的所有實例;

B查找一些新的警告日志;

C檢查DBSNMP是否在運行;

D檢查數據庫備份是否正确;

E檢查備份到磁帶中的文件是否正确;

F檢查數據庫的性能是否正常合理,是否有足夠的空間和資源;

G将文檔日志複制到備份的數據庫中;

H要常看DBA用戶手冊、晚間維護程序;

I收集VOLUMETRIC的數據。

每周維護工作

A.查找那些破壞規則的OBJECT

B.查找是否有違反安全策略的問題

C.查看錯誤地方的SQL*NET日志

D.将所有的警告日志存檔

E.經常訪問供應商的主頁

月維護程序

A.查看對數據庫會産生危害的增長速度

B.回顧以前數據庫優化性能的調整

C.查看I/O的屏頸問題

D.回顧FRAGMENTATION

E.将來的執行計劃

F.查看調整點和維護

維護過程

日間維護

A.查看所有的實例是否已起,确定數據庫是可用的,把每個實例寫入日志并且運行日報告或是運行測試文件。當然有一些操作我們是希望它能自動運行的。可選擇執行:用ORACLE管理器中的‘PROBE’事件來查看;

B.查找新的警告日志文件1.聯接每一個操作管理系統2.使用‘TELNET’或是可比較程序3.對每一個管理實例,經常的執行$ORACLE_BASE//bdump操作,并使其能回退到控制數據庫的SID。4.在提示下,使用UNⅨ中的‘TAIL’命令查看alert_.log,或是用其他方式檢查文件中的警告日志5.如果出現過的一些ORA_ERRORS又出現,将它記錄到數據庫恢複日志中并且仔細的研究它們,這個數據庫恢複日志在〈FILE〉中;

C.查看DBSNMP的運行情況檢查每個被管理機器的‘DBSNMP’進程并将它們記錄到日志中。在UNⅨ中,在命令行中,鍵入ps–ef|grep dbsnmp,将回看到2個DBSNMP進程在運行。如果沒有,重啟DBSNMP。

D.查數據庫備份是否成功;

E.檢查備份的磁帶文檔是否成功;

F.檢查對合理的性能來說是否有足夠的資源1.檢查在表空間中有沒有剩餘空間。對每一個實例來說,檢查在表空間中是否存在有剩餘空間來滿足當天的預期的需要。當數據庫中已有的數據是穩定的,數據日增長的平均數也是可以計算出來,最小的剩餘空間至少要能滿足每天數據的增長。A)運行‘FREE.SQL’來檢查表空間的剩餘空間。

B)運行‘SPACE.SQL’來檢查表空間中的剩餘空間百分率2.檢查回滾段,回滾段的狀态一般是在線的,除了一些為複雜工作準備的專用段,它一般狀态是離線的。a)每個數據庫都有一個回滾段名字的列表。b)你可以用V$ROLLSTAT來查詢在線或是離線的回滾段在狀态。c)對于所有回滾段的存儲參數及名字,可用DBA_ROLLBACK_SEGS來查詢。但是它不如V$ROLLSTAT準确。3.識别出一些過分的增長查看數據庫中超出資源或是增長速度過大的段,這些段的存儲參數需要調整。

a)收集日數據大小的信息,可以用‘ANALYZE5PCT.SQL’。如果你收集的是每晚的信息,則可跳過這一步。b)檢查當前的範圍,可用‘NR.EXTENTS.SQL’。c)查詢當前表的大小信息。d)查詢當前索引大小的信息。e)查詢增長趨勢。4.确定空間的範圍。如果範圍空間對象的NEXT_EXTENT比表空間所能提供的最大範圍還要大,那麼這将影響數據庫的運行。如果我們找到了這個目标,可以用‘ALTER TABLESPACE COALESCE’調查它的位置,或加另外的數據文件。A)運行‘SPACEBOUND.SQL’。如果都是正常的,将不返回任何行。

晚間維護

大部分的數據庫産品将受益于每晚确定的檢查進程的運行。A.收集VOLUMETRIC數據1.分析計劃和收集數據更準确的分析計算并保存結果。a)如果沒有做這些的話,用‘MK VOLFACT.SQL’來創建測定體積的表。b)收集晚間數據大小的信息,用‘ANALYZE COMP.SQL’。c)收集統計結果,用‘POP VOL.SQL’。d)在空閑的時候檢查數據,可能的話,每周或每個月進行。一般用MS EXCEL和ODBC的聯接來檢查數據和圖表的增長。

薪資

在經曆了3年前的不升反降之後,DBA的收入在2013年出現了強勢的反彈。根據本次調查顯示,2013年DBA的平均年薪為113741元,較2012年的97766元上漲了16.3%,與2011年的下降形成了鮮明對比。這也是我們啟動數據庫工程師薪酬調查以來,DBA的平均年薪首次超過10萬大關。在整體的IT領域中,DBA也算是收入中等偏上,但同時需要掌握的知識技能更多,壓力也更大。

不同行業DBA收入:金融行業的DBA年均收入為135857元,緊随其後的是IT互聯網行業,DBA平均年收入為117419,排名第三的是醫療行業,DBA平均年收入為116666元。而DBA收入偏低的行業包括了農業、政府以及交通等,其平均年收入普遍徘徊在70000元左右。

職業前景

數據庫作為整個系統的一部分,它的表現直接受服務器、操作系統、存儲、網絡、應用程序中SQL語句的質量、數據庫設計的質量、以及其它諸多因素的影響,這些因素加在一起非常複雜,經驗起着非常重要的作用。因此一個好的DBA除了知識作為基礎,經驗的多寡、見識的薄廣,往往決定了是否合格與優秀。

從另外一個角度說,Oracle工作領域對實踐經驗和獨立工作能力要求較高,沒有經過大量的動手實踐是很難勝任Oracle相關工作的。

正是由于上述原因,其職場現狀是DBA職位不易進入,而用人單位很難找到合适的從業人員,人員缺口非常大。

也正是由于上述原因,随着工作年限的增長,DBA的經驗在增加,就像醫生一樣,其價值會越來越高,可以逐步成長為資深Oracle DBA、系統構架師、信息主管(CIO)等等,而不會出現許多軟件開發從業人員在一定年齡後面臨的轉行問題。

另外,從職業前景看,從事Oracle DBA有着更多的職場機遇。一般而言,系統中的軟硬件都是IBM、HP、Oracle等業界一流廠商提供的,在與廠商談判、合作、測試、實施、維護、優化等等過程中,會産生許多極佳的職場機遇,這一點是從事開發工作很難比拟的。

從DBA的工資統計數據看,随着工作經驗的積累,DBA工資的增長幅度會遠大于其它的計算機方向。

工作的穩定性上看,系統的複雜性和經驗的重要性已經決定了DBA職位的不可替代性。

從知識的積累、更新和替代角度看,數據庫的根基始終沒變,變的是不斷增強的功能和不斷擴展的應用範圍。因此,在不同時期所學的知識和獲得的經驗是疊加和累積的關系,而不像IT許多其他職業方向那樣“唯一不變的是變化”,其知識是東風壓倒西風還是西風壓倒東風的關系。

相關詞條

相關搜索

其它詞條