天天看點

運維注意事項及案例講解(個人心得) 1. 資料庫運維工作目标 2. 資料庫運維工作範圍 3.  資料庫運維工作内容及相關案例 4. 日常運維管理任務及知識點

  應客戶要求,需要寫一篇《資料庫運維注意事項和案例講解》,正好自己也可以把近來這段時間中碰到的運維問題總結一下。同時也分享給大家。記之

----------------------

資料庫的運維工作目标是保證服務範圍内的資料庫正常運作,用好、管好現有的已傳遞資料,在資料生命周期中,達到資料庫安全性、可用性、可靠性等幾個目标。

資料庫運維範圍主要是管理維護資料庫,在資料庫出現異常的時候,有時往往是應用人員或者部門提出查詢緩慢、或者不能正常使用等問題,有時可能原因出在使用人員的用戶端機器或者網絡部分,比如有以下情況出現:

同一部門或者同一應用使用者沒有問題,但有個别應用人員提出應用不能正常使用的現象。原因可能如下:

1) 原來使用正常,但是安裝其他的安全軟體,屏蔽了資料庫連通的端口,導緻應用不能使用。

2) 所在的網絡終端可能出現問題,使用ping指令,檢視是否有丢包現象。

3) 開始能正常使用,但是有個長時間的處理之後,整個應用就不能用了,有可能是因為某些軟體對應用端口的使用做了逾時連結控制的結果。

根據以上的一些情況,首先要判斷問題出現在哪個環節,然後再進行資料庫的處理,當然對于資料庫伺服器問題,檢視alter日志是最有效和直接的,因為一旦是資料庫伺服器出現問題,在alter日志中都會有記錄。

資料庫運維工作内容很多,從工作内容複雜性和常用性方面可以分為日常運維管理、進階運維管理,從達到目标分安全性、可用性、可靠性方面,具體内容如下。

安全性包括資料通路安全和資料安全備份恢複方面的工作。

<b>1. </b><b>資料安全通路</b>

作為資料庫通路安全,主要是對于資料庫使用者及其權限的管理工作。通路計算機系統時需要遵循的重要的安全原則是“最小權限”原則(即使用者應當隻擁有執行其任務所需的最小權限,并且禁止所有未被特别允許的權限)。Oracle資料庫遵循了最小權限原則,在預設情況下,隻有使用者SYS和SYSTEM才擁有所有權限.其他使用者甚至都無法連接配接資料庫。采用一些安全政策來對使用者的權限進行管理,比如:更改dba使用者名,禁用sys和system使用者等。

其次可以采用審計功能來提高資料通路安全的審計倒查來防範一些非法通路或者非法操作等。

<b>2. </b><b>資料安全備份恢複</b>

資料安全備份恢複主要采用Rman對資料庫進行增量備份恢複政策,并有計劃的進行恢複測試,以便保證資料備份檔案的有效性。或者采用DataGuard進行實時資料保護等。這些一般是資料庫大級别的安全備份恢複,作為日常工作中,對于一個重要表進行操作時,還是需要進行表級備份的,這樣才能做到資料的安全性,不至于出現資料誤删或者誤更新操作。但是目前已經有flashback閃回操作,也能增加其資料的安全性。方法很多,但是重在資料安全意識。

資料庫可用性的日常維護包括很多,如:系統的可用磁盤空間、表空間的可用空間監控、復原表空間、臨時表空間的監控、線上redo監控、歸檔日志監控清理、對象的有效性等,如果後期用ASM進行管理,還要監測ASM的可用磁盤空間,并考慮其不同資料的增量,預估出表空間和磁盤大小,及時擴充,以便避免因為表空間或者磁盤空間不足而導緻的資料庫問題。

案例1:由于沒有及時清理歸檔日志導緻磁盤空間耗盡,引起資料庫挂起。

案例2:由于沒有及時擴充表空間,導緻資料無法增加和插入,引起應用異常。

案例3:由于redo日志過小或者日志組過少,導緻redo日志切換過快,引起應用資料插入和更新。

案例4:由于磁盤或者ASM空間耗盡,引起資料庫服務挂起。

案例5:由于資料庫對象失效,或者索引失效,引起應用無法正常使用,或者查詢資料響應緩慢的問題。

可靠性是指資料庫能不間斷的運作,即使是做其他資料處理的時候也能保證資料庫的正常使用,這樣就要保證資料的安全性和執行個體的有效性,oracle rac和oracle dataguard提供了這一功能。

在對于可靠性的維護方面,一般是在oracle RAC環境下進行維護的,其中包括了cluster的維護和資料庫執行個體以及ASM執行個體的維護。

針對故障排除方面,遵循以下思路,一般故障出現之後,在alter日志中都有記錄,根據alter日志中的錯誤号和提示資訊,來判定資料庫出現的錯誤是什麼,定位錯誤環節:資料庫整體環節(如:redo、archivelog、undo表空間、temp表空間、session等)、應用環境(如是否是存儲過程問題、或者觸發器、視圖等)或者是系統級問題。定位好問題之後再做進一步處理。

略。。。總結自己這段時間遇到的ORA-XXX錯誤資訊和分析思路、解決方法。

<b>序号</b>

<b>工作内容</b>

<b>周期</b>

<b>備注</b>

1

确認所有的INSTANCE狀态正常

2

檢查檔案系統的使用(剩餘空間)

3

檢查日志檔案和trace檔案記錄

4

檢查資料庫當日備份的有效性

5

檢查資料檔案的狀态

6

檢查表空間的使用情況

7

檢查剩餘表空間

8

監控資料庫性能

9

檢查資料庫系統性能

10

日常出現問題的處理

11

監控資料庫對象的空間擴充情況

12

監控資料量的增長情況

13

系統健康檢查

14

檢查無效的資料庫對象

15

Analyze Tables/Indexes/Cluster

16

檢查表空間碎片

17

尋找資料庫性能調整的機會

18

資料庫性能調整

19

提出下一步空間管理計劃

日常運維需要了解的知識點也比較多,具體如下:

<b>知識點</b>

<b>基本</b>

<b>具體工作</b>

ORACLE資料庫部署

日常

 

ORACLE資料庫建立

ORACLE SQL語言

ORACLE體系架構

ORACLE使用者管理

ORACLE執行個體管理

ORACLE資料檔案資料塊

ORACLE對象管理

ORACLE UNDO表空間管理

ORACLE 線上歸檔日志維護管理

ORACLE 安全管理

ORACLE RMAN 基本備份恢複

ORACLE資料庫閃回

ORACLE DATAPUMP

ORACLE資料庫更新

中級

ORACLE資料庫遷移(涵蓋 ORACLE ASM 磁盤組之間資料庫的遷移)

ORACLE資料庫日常

備份政策制定和備份恢複

ORACLE資料庫壞塊修複

20

ORACLE資料庫資料塊編輯

21

ORACLE資料庫日常健康檢查

22

ORACLE資料庫日常性能巡檢

23

ORACLE資料庫日常運維監控

24

ORACLE 高并發和高可用即

進階顧問

25

ORACLE REAL APPLICATION CLUSTERS和ORACLE DATAGUARD,

26

做為集中資料庫運維監控的ORACLE GRID

27

ORACLE資料倉庫

28

ORACLE高并發與高可用綜合應用

29

ORACLE進階安全設計

30

ORACLE SQL 優化

31

ORACLE性能優化

32

ORACLE資料庫系統綜合并發壓力測試