閱讀屋>資料庫作業系統> 資料庫管理員工作內容

資料庫管理員工作內容

資料庫管理員工作內容

  資料庫管理員,是從事管理和維護資料庫管理系統(DBMS)的相關工作人員的統稱,下面是小編整理的相關內容,希望對你有幫助。

  一:資料庫系統規劃

  1、硬體:在整套系統規劃初期,要針對資料庫未來的成長需求、效能需求、商業考慮,決定資料庫執行需要的記憶體、硬碟、cpu及其他資源(IOPS、網路頻寬)。

  在做硬體規劃時,考慮如何使用RAID,這些都會影響到資料庫的效能。

  2、 軟體:選擇作業系統、資料庫產品、第三方工具。

  3、 整體架構:根據資料庫負載、重要程度,考慮使用單例項資料庫、叢集、複製、映象等高可用性、 可擴充套件性、負載均衡, 讀寫分離等策略。

  二:資料庫設計與開發

  一般是在開發環境上進行的,可能接下來還會搬到uat環境,最後才是生產環境

  1、表設計:來源於對業務有詳盡的需求分析,從而對現實需求進行綜合、歸納與抽象並形成完整的E-R圖,再由E-R圖轉換為相應的邏輯模式(表、檢視定義等,考慮正規化要求)。

  2、資料庫儲存方式設計:根據業務的初期、中期及後期,考慮合理的資料庫儲存規劃,物理儲存(資料檔案、日誌檔案要如何放置)、邏輯儲存方式(索引、資料、要如何擺放,是否需啊喲建立分割槽表)。

  3、對開發人員的sql進行稽核,最佳化sql

  三:資料庫建設:

  1、安裝、升級資料庫軟體,在安裝軟體時要了解不同選項的意義,在升級之前,要確定是否會影響到作業系統、應用程式。

  安裝:先把環境搭建好,諸如核心引數,環境變數,rmp包之類的都要搞定,一般要按照安裝參考手冊來設定。

  尤其是部署生產環境,由於預設值不一定能滿足需求,所以每一個引數都得結合其資料環境考量規劃,這個需要一定的經驗。

  升級:由於會有各種bug,所以比較重要的是要考慮更新patch等之後產生的影響以及做好回退措施。(白天監控資料庫,晚上挑燈戰bug)。

  2、資料庫的建立和引數設定,安裝之後要建立資料庫,有些資料庫引數是在建立時就要決定的`,之後無法修改。建立資料庫需要考慮應用程式的需求、操作熊的限制。

  3、建立完善的備份計劃,當資料庫損壞時,將資料庫在第一時間恢復,這依靠完善的備份計劃,要考慮到系統的重要性以及企業可承擔的分險。

  4、建立資料庫安全性管理規範,將資料分類,給使用者設定適當的許可權。

  四:運營維護(運維):

  1、建立、維護資料庫使用者和物件,按照安全性管理規範,給使用者適當的存取許可權。

  2、保證資料庫的完整性:資料庫備份恢復。

  很多時候我們無意中不小心刪除了資料,給生產資料庫帶來嚴重的後果,所以DBA的細心以(每一步操作都儘可能思前想後)、資料庫的定期備份是至關重要的。

  資料庫的備份策略:主要依賴於對資料丟失的容忍度來決定。也就是說合理的備份策略基於資料庫恢復所需要的所有相關的因素,因此備份策略應具體情形具體分析。

  資料庫的備份方式:每種資料庫自帶的備份方式是必須要掌握的,對於SQL Server需要搞清資料庫的恢復模式以及全備,增量等方式,當然掌握bcp命令也是很有必要的。對於Oracle,datapump,冷備,熱備,rman備份幾種最好都全部掌握。而且有諸多第三方備份方式。

  備份檢查:定期監控資料庫的備份、做災備測試等,來確保資料庫的備份與恢復是完整無誤的。

  3、控制、監控使用者對資料庫的存取情況、使用資料庫資源的情況,

  4、資料庫監控、定期巡檢:資料庫執行狀態、資料庫效能、健康檢查

  透過對資料庫不同部分、元件的實時監控,我們可以及時發現問題,採取補救措施,透過這種防患於未然的策略,來保障資料庫持續、穩定、健康平穩執行。

  這些部分通常包括以下內容:

  (1) 實時監控錯誤日誌(絕大部分錯誤資訊都會記錄在資料庫告警日誌,監控告警日誌顯得尤為重要);

  (2) 伺服器是否可用(作業系統CPU/IO/Memory監控);

  (3) 資料庫例項狀態監控(資料庫服務是否啟用/中斷);

  (4) 資料庫磁碟空間監控(表空間的使用率實時監控);

  (5) 閃回區或歸檔日誌監控(如果有使用到閃回區,歸檔主要是針對歸檔空間空間問題,如不足會hang住)

  (6) 資料庫備份或恢復監控

  (7) 無效物件的監控與處理;

  (8) 資料庫一致性檢查;

  (9) 作業執行狀態;

  (10) 索引碎片檢查;

  (11) ……

  可以選擇圖形化介面,以及設定閥值來實現自動預警。

  當然也可以自己編寫shell指令碼來定時完成。

  比較好的工具大家可以藉助於Toad,Spotlight,Myora等優秀工具獲得包括sga,pga,top SQL,instance等等更為詳細的資訊。

  除了實時監控之外,定期巡檢也是有必要的,這樣可以發現隱性的或未決的問題,以及如何改善當前資料庫。

  5、使用者反饋出來的任何資料庫問題,需要DBA去做處理,即便有時診斷出來並非資料庫的問題。

  6、升級/遷移

  升級:通常是在本機進行,硬體不變,比如:更換作業系統、資料庫的版本、打補丁。

  遷移:通常是需要升級硬體,比如:更換新的伺服器,所以把資料庫搬到新的伺服器上,也有在本機“遷移”,只是為了移動資料庫檔案的位置。

  遷移+升級:隨著業務增長,對效能要求的提高,以及更新換代,需要升級不得不實施資料庫遷移,不影響業務。

  遷移也是一個比較耗大的工程,尤其是大型資料庫,上TB級的。

  比如使用匯入匯出,儘管操作命令一樣,但大型資料庫你得考慮的更多,可以考慮使用並行,如何最佳化這個過程的效能,事先準備好詳細的操作步驟時完全有必要的。

  不過很多時候,都是在遷移中做升級,也就是換了新的伺服器,也換了軟體版本。

  五:調整資料庫效能:

  隨著業務量的不斷增加,業務執行緩慢,客戶抱怨不斷,導致效能問題表現的異常突出。

  效能問題是從整個業務需求分析,資料庫架構設計的那一刻起,直至資料庫生命週期結束。

  儘管整體效能並不完全取決於資料庫,但資料庫仍然是至關重要的一環。不過僅僅從資料庫層面來把控效能是遠遠不夠的,對儲存、作業系統、網路、業務的瞭解與掌握,對效能調整做到有的放矢,應用自如。

  下面僅僅從資料庫層面來談談效能調整與最佳化涉及到的方面。

  作業系統核心引數最佳化與調整

  基於不同的特性使用raid部署不同型別檔案

  分開儲存資料和索引檔案以及均衡I/O

  調整資料庫以及例項級別初始化引數

  使用分割槽表處理海量資料以及滑動視窗歸檔

  消除行連結與行遷移

  使用索引、提示或物化檢視調整SQL訪問負載

  調整最佳化器統計資訊

  透過調整PL/SQL以提供效能

  使用並行技術提高效能

  六:資料庫故障排除(災後恢復)

  一是由於資料庫軟體及執行環境等產生的各種bug或隱性問題,

  二是人為的問題通常也不在少數。

  Troubleshooting是DBA經常面對的問題,因此,如何快速定位並解決這些問題也是衡量一個DBA水平的重要指標。

  下面列出幾類較為較為常見的需要Troubleshooting的問題。

  告警日誌中的異常處理

  監xx相關的異常處理

  資料庫備份恢復期間的異常處理

  job執行異常的處理

  資料庫突發的異常處理,如資料庫hang,某個時間段效能低下

  叢集管理中的異常處理

  資料庫日誌傳送,恢復等異常處理

  使用者報告的異常處理

  資料庫安全的異常處理

【資料庫管理員工作內容】相關文章: