應客戶要求,需要寫一篇《資料庫運維注意事項和案例講解》,正好自己也可以把近來這段時間中碰到的運維問題總結一下。同時也分享給大家。記之
----------------------
資料庫的運維工作目標是保證服務範圍內的資料庫正常執行,用好、管好現有的已交付資料,在資料生命週期中,達到資料庫安全性、可用性、可靠性等幾個目標。
資料庫運維範圍主要是管理維護資料庫,在資料庫出現異常的時候,有時往往是應用人員或者部門提出查詢緩慢、或者不能正常使用等問題,有時可能原因出在使用人員的客戶端機器或者網路部分,比如有以下情況出現:
同一部門或者同一應用使用者沒有問題,但有個別應用人員提出應用不能正常使用的現象。原因可能如下:
1) 原來使用正常,但是安裝其他的安全軟體,遮蔽了資料庫連通的埠,導致應用不能使用。
2) 所在的網路終端可能出現問題,使用ping命令,檢視是否有丟包現象。
3) 開始能正常使用,但是有個長時間的處理之後,整個應用就不能用了,有可能是因為某些軟體對應用埠的使用做了超時鏈結控制的結果。
根據以上的一些情況,首先要判斷問題出現在哪個環節,然後再進行資料庫的處理,當然對於資料庫伺服器問題,檢視alter日誌是最有效和直接的,因為一旦是資料庫伺服器出現問題,在alter日誌中都會有記錄。
資料庫運維工作內容很多,從工作內容複雜性和常用性方面可以分為日常運維管理、高階運維管理,從達到目標分安全性、可用性、可靠性方面,具體內容如下。
安全性包括資料訪問安全和資料安全備份恢復方面的工作。
1.資料安全訪問
作為資料庫訪問安全,主要是對於資料庫使用者及其許可權的管理工作。訪問計算機系統時需要遵循的重要的安全原則是「最小許可權」原則(即使用者應當只擁有執行其任務所需的最小許可權,並且禁止所有未被特別允許的許可權)。oracle資料庫遵循了最小許可權原則,在預設情況下,只有使用者sys和system才擁有所有許可權.其他使用者甚至都無法連線資料庫。採用一些安全策略來對使用者的許可權進行管理,比如:更改dba使用者名稱,禁用sys和system使用者等。
其次可以採用審計功能來提高資料訪問安全的審計倒查來防範一些非法訪問或者非法操作等。
2.資料安全備份恢復
資料安全備份恢復主要採用rman對資料庫進行增量備份恢復策略,並有計畫的進行恢復測試,以便保證資料備份檔案的有效性。或者採用dataguard進行實時資料保護等。這些一般是資料庫大級別的安全備份恢復,作為日常工作中,對於乙個重要表進行操作時,還是需要進行表級備份的,這樣才能做到資料的安全性,不至於出現資料誤刪或者誤更新操作。但是目前已經有flashback閃回操作,也能增加其資料的安全性。方法很多,但是重在資料安全意識。
案例1:由於沒有及時清理歸檔日誌導致磁碟空間耗盡,引起資料庫掛起。
案例2:由於沒有及時擴充套件表空間,導致資料無法增加和插入,引起應用異常。
案例3:由於redo日誌過小或者日誌組過少,導致redo日誌切換過快,引起應用資料插入和更新。
案例4:由於磁碟或者asm空間耗盡,引起資料庫服務掛起。
案例5:由於資料庫物件失效,或者索引失效,引起應用無法正常使用,或者查詢資料響應緩慢的問題。
可靠性是指資料庫能不間斷的執行,即使是做其他資料處理的時候也能保證資料庫的正常使用,這樣就要保證資料的安全性和例項的有效性,oracle rac和oracle dataguard提供了這一功能。
在對於可靠性的維護方面,一般是在oracle rac環境下進行維護的,其中包括了cluster的維護和資料庫例項以及asm例項的維護。
針對故障排除方面,遵循以下思路,一般故障出現之後,在alter日誌中都有記錄,根據alter日誌中的錯誤號和提示資訊,來判定資料庫出現的錯誤是什麼,定位錯誤環節:資料庫整體環節(如:redo、archivelog、undo表空間、temp表空間、session等)、應用環境(如是否是儲存過程問題、或者觸發器、檢視等)或者是系統級問題。定位好問題之後再做進一步處理。
略。。。總結自己這段時間遇到的ora-***錯誤資訊和分析思路、解決方法。
序號
工作內容
週期
備註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 提出下一步空間管理計畫 月
日常運維需要了解的知識點也比較多,具體如下:
序號
知識點
基本
具體工作1
oracle
資料庫部署 日常
2 oracle
資料庫建立 日常
3 oracle sql語言
日常 4
oracle
體系架構 日常
5 oracle
使用者管理 日常
6 oracle
例項管理 日常
7 oracle
資料檔案資料塊 日常
8 oracle
物件管理 日常
9 oracle undo
表空間管理 日常
10 oracle 日常
11 oracle
安全管理 日常
12 oracle rman
基本備份恢復 日常
13 oracle
資料庫閃回 日常
14 oracle datapump 日常
15 oracle
資料庫公升級 中級
16 oracle
資料庫遷移(涵蓋 oracle asm 磁碟組之間資料庫的遷移) 中級
17 oracle
資料庫日常 中級
18 備份策略制定和備份恢復 中級
19 oracle
資料庫壞塊修復 中級
20 oracle
資料庫資料塊編輯 中級
21 oracle
資料庫日常健康檢查 中級
22 oracle
資料庫日常效能巡檢 中級
23 oracle
資料庫日常運維監控 中級
24 oracle
高併發和高可用即
高階顧問
25 和oracle dataguard,
高階顧問
26 做為集中資料庫運維監控的oracle grid
高階顧問
27 oracle
資料倉儲
高階顧問
28 oracle
高併發與高可用綜合應用
高階顧問
29 oracle
高階安全設計
高階顧問
30 oracle sql 優化
高階顧問
31 oracle
效能優化
高階顧問
32 oracle
資料庫系統綜合併發壓力測試
高階顧問
運維注意事項
生產機器系統及應用非必要不做公升級 公升級也需要做下線操作,業務切換到其他機器 系統慎重做更新,需要做詳細文件後論證可行性及需考慮如何備份 回退 重要資料異地備份 備份定期驗證可用性 備份時錯開使用高峰盡量不影響生產環境 可以指令碼實現的都指令碼實現,盡量自動化處理。人工總容易出錯,機器不會,有些事...
Linux運維注意事項
linux是一款非常強大的作業系統,在安全性 穩定性等方面都遠超windows,特別在伺服器作業系統方面。在我們運維的時候需要注意很多的細節。以下是總結的一些前輩的經驗,和大家一起分享。1 遠端伺服器不允許關機,只允許重啟,所以敲命令時慎重啊!2 重啟時應關閉服務 3 不要在服務執行高峰期,執行高負...
shell中if的講解及注意事項
if 語句格式 eg bin bash if 3 lt 6 要注意if後面有乙個空格,3 和 6 的前後各有乙個空格 then echo 3 is less 6 else echo 3 is more 6 fi 注意在結束的時候一定要有結尾的返寫否則會出錯 eg 這是另外乙個例子 bin bash ...