DBA職責與技能

2021-08-09 08:31:57 字數 3379 閱讀 1675

下面從6個方面描述資料庫管理員(dba)的工作內容、職責範圍:

一:資料庫系統規劃

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

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

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

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

二:資料庫設計與開發

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

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

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

3、對開發人員的sql進行審核,優化sql

三:資料庫建設:

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

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

公升級:由於會有各種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的問題。

告警日誌中的異常處理

***相關的異常處理

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

job執行異常的處理

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

集群管理中的異常處理                     

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

使用者報告的異常處理

資料庫安全的異常處理    

轉 DBA的職責

原址如下 dba的職責 1.安裝和公升級資料庫伺服器,以及應用程式工具構建和配置網路環境.2.熟悉資料庫系統的儲存結構 未來的儲存需求,制訂資料庫的儲存方案.3.根據開發人員設計的應用系統需求建立資料庫儲存結構.4.根據開發人員設計的應用系統需求建立資料庫物件 5.根據開發人員的反饋資訊,在必要的時...

DBA 職責及日常工作職責

1.安裝和公升級 資料庫 伺服器,以及應用程式工具構建和配置網路環境.2.熟悉資料庫系統的儲存結構 未來的儲存需求,制訂資料庫的儲存方案.3.根據開發人員設計的應用系統需求建立資料庫儲存結構.4.根據開發人員設計的應用系統需求建立資料庫物件 5.根據開發人員的反饋資訊,在必要的時候修改資料庫的結構 ...

DBA 職責及日常工作職責

dba 職責及日常工作職責 1.安裝和公升級資料庫伺服器,以及應用程式工具構建和配置網路環境.2.熟悉資料庫系統的儲存結構 未來的儲存需求,制訂資料庫的儲存方案.3.根據開發人員設計的應用系統需求建立資料庫儲存結構.4.根據開發人員設計的應用系統需求建立資料庫物件 5.根據開發人員的反饋資訊,在必要...