DBA(數據庫管理員)_第1頁
DBA(數據庫管理員)_第2頁
DBA(數據庫管理員)_第3頁
DBA(數據庫管理員)_第4頁
DBA(數據庫管理員)_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫管理員編輯DBA(數據庫管理員(DatabaseAdministrator)即數據庫管理員。數據庫管理員(Database Administrator,簡稱DBA),是一個負責管理和維護數據庫服務器的人。數據庫管理員負責全面管理和控制數據庫系統。這個職位對不同的人意味著不同的意義。目錄1簡介任務特點等級2系統3職責一般監視備份修改密碼SQL語句深層次管理和研究每天的工作每周的工作每月的工作4日常管理目的日常維護程序每周維護工作月維護程序5維護過程日間維護晚間維護周維護6附錄日常程序每晚處理程序每周處理程序7薪資8職業前景1簡介一個小的軟件開發工作室和一個分工高度明細的大公司相比,DBA的

2、職責來得更加寬泛一些。一個公司,不管它是自己開發應用軟件,還是購買第三方的應用軟件,只要涉及到數據庫(有多少不涉及數據庫的應用軟件呢?數據庫是商業的靈魂和大腦啊),就需要確定是否雇傭一個或幾個DBA。知道DBA這個職位有哪些要求,對于企業內部這個職位的定義或者對于那些未來的DBA將是至關重要的。任務安裝和升級數據庫服務器(如Oracle、Microsoft SQL server),以及應用程序工具。數據庫設計系統存儲方案,并制定未來的存儲需求計劃。一旦開發人員設計了一個應用,就需要DBA來創建數據庫存儲結構(tablespaces)。一旦開發人員設計了一個應用,就需要DBA來創建數據庫對象(t

3、ables,views,indexes)。根據開發人員的反饋信息,必要的時候,修改數據庫的結構。登記數據庫的用戶,維護數據庫的安全性。保證數據庫的使用符合知識產權相關法規。1控制和監控用戶對數據庫的存取訪問。監控和優化數據庫的性能。制定數據庫備份計劃,災難出現時對數據庫信息進行恢復。維護適當介質上的存檔或者備份數據。備份和恢復數據庫。聯系數據庫系統的生產廠商,跟蹤技術信息。特點很多時候管理人員都忽視了DBA的個性特點,他們只關注DBA的技術能力。實際上,上面談到的每個職責都意味著:DBA需要跟各種人員打交道,這些人員可能是銷售商、用戶、開發人員或者管理人員。這說明:DBA必須具有下面的個性特點

4、:自信心、好奇心、堅韌的意志力、老練、自我驅動、注意細節,為什么這些個性特點很重要呢?我就有幾個缺乏自信心的部下,他們反復問我一些事無巨細的問題,他們沒有信心哪怕做最小的決定。他們也缺乏工作的主動性。這對于初級DBA來說可能問題不太大,但對于那些高級DBA來說,如果他們缺乏自信心,他們又可以依賴誰幫他們決策呢?在DBA的面試中,即使你不能回答某個技術問題,你也要表現出足夠的自信心。最致命的不是不知道問題的答案,而是不知道從哪兒得到答案。幾乎所有的數據庫系統都在不停地更新。但并不是所有的更新都有技術文檔。對于好的DBA來說,好奇心是必需的。沒有好奇心和求知欲的DBA總是等待有人告訴他們答案。而一

5、個求知欲強的DBA將安裝最新版本的數據庫系統,并立即開始搜尋那些哪怕是細微的功能和性能上的差異和增強,從而改進自己的工作。應試時一個必然問及的問題是:你手頭有哪些參考資料?你如何使用它們?毫無疑問,如果你只回答了數據庫的文檔,或者你甚至沒有讀過他們,你的"股票市值"將大大下降。好奇心會驅使DBA們理解數據字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。DBA常常會碰到棘手的問題。尋找答案是一個需要堅韌意志力、可以經受摔打的個性特點。我常常在一些討論組或者論壇上看到DBA們提出的問題,這些問題往往是提問者自己可以解決的,如果他

6、們具有堅韌的個性特點,并努力尋求問題的答案。自我驅動對每個人都是很重要的,對DBA尤其如此。DBA要能想辦法使問題出現,而不是等待問題的出現。自驅力強的DBA常常設法取得或者自己寫一些必要的腳本(Script)來監控包括數據表大小(Table Size)、表空間使用(Tablespace Usage)等項目,這些項目如果被忽視,他們將遇到麻煩。應試的時候DBA們常常被問及在PL/SQL、SQL或者SQL*PLUS方面的經驗,這些問題將把你從從來沒有編寫過自己需要的腳本的那些DBA們區分開。不用說和用戶,就是和程序員和管理人員打交道,也需要你足夠老練。一個一點不會處事的DBA不會為你做什么好事,

7、只會在你的部門點燃敵對情緒的烈火。老練是這樣一種能力,你勸告某個人到地府去,哈哈,最后這個人懷著渴望的心情去了。很多時候,開發者、管理者、用戶,他們會提出毫無道理的需求,DBA們需要老練地引導、修正它們的要求,說服他們。在應試時,你的應對就很能說明你是否老練。最后說說注意細節,這種性格傾向非常重要。注意細節的DBA們衣著整潔,有自己的日程安排,在應試前對應聘的單位做過調查。注意細節的DBA們深入了解數據庫的內核,并能理解視圖、表之間的關系。等級DBA的等級并不是很嚴格的。按照對數據庫的掌握情況,我簡單地分成三個等級:初級Primary、中級Intermediate和高級Senior。初級DBA

8、又稱為DBBS,是英文Database Baby Sitter的縮寫。初級DBA常常是兼職的,他們往往同時是程序員或者兼任其他的工作。初級DBA往往把個人簡歷寫得很棒,參與了很多和數據庫有關的項目或工作。但是,這些項目或者工作往往是:第三方軟件供應商已經安裝并配置了數據庫,他們只做一些監控的工作。他們能處理一些簡單的問題,但大多數時候他們向應用軟件供應商求救。初級DBA更喜歡圖形化的數據庫管理或者監控工具,他們喜歡Access這樣的桌面數據庫簡單易用,并把這些小型數據庫的經驗簡單地應用到大型數據庫相關的工作中。初級DBA是最好區分的。而中級DBA和高級DBA就不太好區分。他們的差別在于經驗的不

9、同和個性特點、能力方面的差異。中級DBA比較多,他們可以勝任高級DBA的大部分工作,包括:1、數據庫安裝;2、數據庫配置和管理;3、權限設置和安全管理;4、監控和性能調節;5、備份和恢復;6、解決一般的問題;中級DBA往往從業一年左右,熟悉某種操作系統環境下的數據庫。因為對中級DBA來講,Windows NT和Unix是有很大差別的。中級DBA對SQL比較熟悉,他們自己購買了幾本數據庫方面的書籍,并深入鉆研。中級DBA往往同時兼任數據庫程序員,他們的工作對性能、穩定性、安全性的追求基本上不是很高,往往配合高級DBA做一些例行工作。高級DBA在國內是非常少的。他們購買了太多的數據庫方面的英文資料

10、,也許是托朋友從Amazon買的。相對于他們的報酬來講,買書的錢是很少的一個比例。高級DBA一般都熟悉很多種操作平臺下的幾種大型數據庫。他們知道各種不同數據庫在不同環境下的優勢和劣勢,并能在數據庫平臺和數據庫環境的選擇方面做出決策。他們一般通曉系統架構和數據庫設計,并能對數據庫進行各種級別的優化。高級DBA一般都配有助手,他們更偏向做決策和計劃。高級DBA往往在銀行業、保險業、在線交易等對穩定性、安全性、性能都要求比較高的關鍵業務處理領域大顯身手。很多時候,是否取得數據庫專家認證證書并不是很重要。我知道很多數據庫廠商的培訓只要你去了都會獲得證書。有很多的公司提供商業化的培訓,他們的服務質量也有

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

12、據庫-無冕之王Oracle如果你有機會接觸到Oracle,那可是個好機會。Oracle是目前最看好的數據庫廠商,由于其強大的功能和可配置、可管理能力,Oracle DBA的薪資一般比其他數據庫管理員的薪資要高。而且,Oracle在大中型企業的關鍵應用也更加普遍了。Oracle可以運行在Windows NT、Sun Solaris、Linux等平臺下。很多情況下要求你不僅僅熟悉NT,還要你熟悉Unix;而且Oracle不太友善的界面和成箱的Oracle產品資料可能也是一個障礙。Oracle 8i標準版的報價,如果運行在Windows NT,附帶JServer和interMedia,支持5個并發用

13、戶,報價是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美元每個并發用戶。而企業

14、版是12500美元每個CPU,不限并發用戶數量。以Java為中心的數據庫-Sybase Adaptive Server Enterprise(ASE) 12.0即將發布的Sybase ASE 12.0,直接面向Java程序員。這種以Java為中心的數據庫系統,為那些準備在Java平臺下構建企業應用的企業來說,將是最好的選擇。但是ASE稱不上一個數據庫領域的領先者,盡管相對于它以前的版本已經改進很多,并支持多個CPU和更多的并發,還有很多的新的特性。但Sybase的風光似乎已經不再。值得期盼的Informix Centaur有時候“第一”只是意味著你的對手需要等待更長的時間去趕上你。這正是199

15、7年創立的Informix所面臨的。Informix公司是率先將多媒體特性加入到關系數據庫系統的大型數據庫廠商之一。但是如今,IBM、Oracle、Sybase都已經跨越了這個概念。所以,Informix不得不尋求新的支撐來使自己區別于其他數據庫廠商。這就是Informix Centaur的目標。Informix Centaur結合了Informix Dynamic Server 7.3的對象-關系數據庫和Informix Universal Data Option 9.1,意在獲得更好的適應性和多媒體支持。詳情如何,我們拭目以待!3職責一般監視1 監控數據庫的警告日志。Alert.log,定

16、期做備份刪除。2 Linstener.log的監控,/network/admin/linstener.ora。3 重做日志狀態監視,留意視圖v$log,v$logfile,該兩個視圖存儲重做日志的信息。4 監控數據庫的日常會話情況。5 碎片、剩余表空間監控,及時了解表空間的擴展情況、以及剩余空間分布情況,如果有連續的自由空間,手工合并。6 監控回滾段的使用情況。生產系統中,要做比較大的維護和數據庫結構更改時,用rbs_big01來做。7 監控擴展段是否存在不滿足擴展的表。8 監控臨時表空間。9 監視對象的修改。定期列出所有變化的對象。%BB%B6 target="_new"

17、 class=innerlink>;文件,有初始化參數文件、用戶后臺文件、系統后臺文件。備份對數據庫的備份監控和管理數據庫的備份至關重要,對數據庫的備份策略要根據實際要求進行更改,數據的日常備份情況進行監控。由于我們使用了磁帶庫,所以要對legato備份軟件進行監控,同時也要對rman備份數據庫進行監控。修改密碼規范數據庫用戶的管理定期對管理員等重要用戶密碼進行修改。對于每一個項目,應該建立一個用戶。DBA應該和相應的項目管理人員或者是程序員溝通,確定怎樣建立相應的數據庫底層模型,最后由DBA統一管理,建立和維護。任何數據庫對象的更改,應該由DBA根據需求來操作。SQL語句對SQL語句的

18、書寫規范的要求一個SQL語句,如果寫得不理想,對數據庫的影響是很大的。所以,每一個程序員或相應的工作人員在寫相應的SQL語句時,應該嚴格按照SQL書寫規范一文。最后要有DBA檢查才可以正式運行。深層次管理和研究DBA深層次要求一個數據庫能否健康有效的運行,僅靠這些日常的維護還是不夠的,還應該致力于數據庫的更深一層次的管理和研究:數據庫本身的優化,開發上的性能優化;項目的合理化;安全化審計方面的工作;數據庫的底層建模研究、規劃設計;各種數據類型的處理;內部機制的研究;ora-600錯誤的研究、故障排除,等等很多值得探討的問題。ORACLE數據庫管理員應按如下方式對ORACLE數據庫系統做定期監控

19、:. 每天對ORACLE數據庫的運行狀態,日志文件,備份情況,數據庫的空間使用情況,系統資源的使用情況進行檢查,發現并解決問題。. 每周對數據庫對象的空間擴展情況,數據的增長情況進行監控,對數據庫做健康檢查,對數據庫對象的狀態做檢查。. 每月對表和索引等進行Analyze,檢查表空間碎片,尋找數據庫性能調整的機會,進行數據庫性能調整,提出下一步空間管理計劃。對ORACLE數據庫狀態進行一次全面檢查。每天的工作.確認所有的INSTANCE狀態正常登陸到所有數據庫或例程,檢測ORACLE后臺進程: $ps ef|grep ora. 檢查文件系統的使用(剩余空間)。如果文件系統的剩余空間小于20%,

20、需刪除不用的文件以釋放空間。. 檢查日志文件和trace文件記錄alert和trace文件中的錯誤。 連接到每個需管理的系統 使用telnet 對每個數據庫,cd 到bdump目錄,通常是$ORACLE_BASE/bdump 使用 Unix tail命令來查看alert_.log文件 如果發現任何新的ORA- 錯誤,記錄并解決. 檢查數據庫當日備份的有效性。 對RMAN備份方式:檢查第三方備份工具的備份日志以確定備份是否成功 對EXPORT備份方式: 檢查exp日志文件以確定備份是否成功 對其他備份方式:檢查相應的日志文件. 檢查數據文件的狀態記錄狀態不是“online”的數據文件,并做恢復。

21、 Select file_name from dba_data_files where status=OFFLINE. 檢查表空間的使用情況 SELECT tablespace_name,max_m,count_blocks free_blk_cnt,sum_free_m,to_char(100*sum_free_m/sum_m,99.99) | % AS pct_free FROM (SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name), (SELE

22、CT tablespace_name AS fs_ts_name,max(bytes)/1024/1024 AS max_m,count(blocks) AS count_blocks,sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name) WHERE tablespace_name = fs_ts_name. 檢查剩余表空間 SELECT tablespace_name,sum (blocks) as free_blk, trunc (sum (bytes) /(1024*1024) a

23、s free_m, max (bytes) / (1024) as big_chunk_k,count (*) as num_chunks FROM dba_free_space GROUP BY tablespace_name;. 監控數據庫性能 運行bstat/estat生成系統報告或者使用statspack收集統計數據;. 檢查數據庫性能,記錄數據庫的cpu使用、IO、buffer命中率等等 使用vmstat,iostat,glance,top等命令;. 日常出現問題的處理。每周的工作. 控數據庫對象的空間擴展情況 根據本周每天的檢查情況找到空間擴展很快的數據庫對象,并采取相 應的措施

24、- 刪除歷史數據 - 擴表空間 alter tablespace add datafile size - 調整數據對象的存儲參數 next extent pct_increase. 監控數據量的增長情況 根據本周每天的檢查情況找到記錄數量增長很快的數據庫對象,并采 取相應的措施 - 刪除歷史數據 - 擴表空間 alter tablespace add datafile size,. 系統健康檢查 檢查以下,內容: init.ora controlfile redo log file archiving sort area size tablespace(system,temporary,tab

25、lespace fragment) datafiles(autoextend,location) object(number of extent,next extent,index) rollback segment logging &tracing(alert.log,max_dump_file_size,sqlnet) . 檢查無效的數據庫對象SELECT owner,object_name,object_type FROM dba_objects WHERE status=INVALID。. 檢查不起作用的約束 SELECT owner,constraint_name,table

26、_name, constraint_type,status FROM dba_constraints WHERE status = DISABLED AND constraint_type = P. 檢查無效的trigger SELECT owner,trigger_name,table_name,status FROM dba_triggers WHERE status = DISABLED每月的工作. Analyze Tables/Indexes/Cluster analyze table estimate statistics sample 50 percent;. 檢查表空間碎片根據每

27、月每周的檢查分析數據庫碎片情況,找到相應的解決方法;. 尋找數據庫性能調整的機會比較每天對數據庫性能的監控報告,確定是否有必要對數據庫性能進 行調整;.數據庫性能調整如有必要,進行性能調整;. 提出下一步空間管理計劃根據每周的監控,提出空間管理的改進方法。4日常管理目的這篇文檔有很詳細的資料記錄著對一個甚至更多的ORACLE數據庫每天的,每月的,每年的運行的狀態的結果及檢查的結果,在文檔的附錄中你將會看到所有檢查,修改的SQL 和PL/SQL 代碼。日常維護程序A 檢查已起的所有實例 B 查找一些新的警告日志C 檢查DBSNMP 是否在運行 D 檢查數據庫備份是否正確 E 檢查備份到磁帶中的文

28、件是否正確 F 檢查數據庫的性能是否正常合理,是否有足夠的空間和資源 G 將文檔日志復制到備份的數據庫中 H 要常看DBA 用戶手冊 2.晚間維護程序A收集VOLUMETRIC 的數據每周維護工作A 查找那些破壞規則的OBJECT B 查找是否有違反安全策略的問題 C 查看錯誤地方的SQL*NET日志D 將所有的警告日志存檔 E 經常訪問供應商的主頁月維護程序A 查看對數據庫會產生危害的增長速度 B 回顧以前數據庫優化性能的調整 C 查看I/O 的屏頸問題 D 回顧FRAGMENTATION E 將來的執行計劃 F 查看調整點和維護 5.附錄 A 月維護過程 B 晚間維護過程 C 周維護過程

29、6.參考文獻5維護過程日間維護A2查看所有的實例是否已起 確定數據庫是可用的,把每個實例寫入日志并且運行日報告或是運行測試 文件。當然有一些操作我們是希望它能自動運行的。 可選擇執行:用ORACLE 管理器中的PROBE事件來查看 B查找新的警告日志文件1. 聯接每一個操作管理系統 2. 使用TELNET或是可比較程序 3. 對每一個管理實例,經常的執行$ORACLE_BASE/bdump 操 作,并使其能回退到控制數據庫的SID。 4. 在提示下,使用UN 中的TAIL命令查看alert_.log,或是 用其他方式檢查文件中的警告日志5. 如果出現過的一些ORA_ERRORS 又出現,將它記

30、錄到數據庫恢復日志中并且仔細的研究它們,這個數據庫恢復日志在FILE中 C查看DBSNMP 的運行情況 檢查每個被管理機器的DBSNMP進程并將它們記錄到日志中。 在UN 中,在命令行中,鍵入ps ef | grep dbsnmp,將回看到2 個 DBSNMP 進程在運行。如果沒有,重啟DBSNMP。 D查數據庫備份是否成功 E檢查備份的磁帶文檔是否成功 F檢查對合理的性能來說是否有足夠的資源 1. 檢查在表空間中有沒有剩余空間。 對每一個實例來說,檢查在表空間中是否存在有剩余空間來滿足當天 的預期的需要。當數據庫中已有的數據是穩定的,數據日增長的平均 數也是可以計算出來,最小的剩余空間至少要

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

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

33、源論點的過程 A)檢查CPU的利用情況,進到x:.htm =>system metrics=>CPU 利用頁,CPU 的最大限度為400,當CPU 的占用保持 在350 以上有一段時間的話,我們就需要查看及研究出現的問題。 G將存檔日志復制到備用數據庫中 如果有一個備用數據庫,將適當的存檔日志復制到備用數據庫的期望 位置,備用數據庫中保存最 近的數據。 H. 經常查閱DBA 用戶手冊 如果有可能的話,要廣泛的閱讀,包括DBA 手冊,行業雜志,新聞 組或是郵件列表。晚間維護大部分的數據庫產品將受益于每晚確定的檢查進程的運行。 A. 收集VOLUMETRIC 數據 1. 分析計劃和收集數據 更準確的分析計算并保存結果。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論