首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle DBA 職責全景與日常/每週/每月運維檢查清單

     編輯:Oracle 資料庫基礎

DBA 核心職責 (13 大項)

  1. 資料庫軟體安裝、升級、Patch、客戶端工具建置、網路環境配置。
  2. 儲存結構規劃:預測成長、設計表空間/資料檔/ASM 磁碟組佈局。
  3. 依應用需求建立資料庫物件 (表、索引、分區、視圖、序列、同義詞)。
  4. 依開發反饋調整結構 (DDL 變更、分區維護、索引重建)。
  5. 使用者/權限/角色/Profile/審計政策管理,確保最小權限原則。
  6. 監控與控制存取:連線數、會話、資源管理計畫 (Resource Manager)。
  7. 效能監控與調優:AWR/ASH/ADDM、SQL Tuning Advisor、索引/統計資訊維護。
  8. 備份恢復策略制定:RPO/RTO 定義、RMAN 備份、Data Guard/GoldenGate 容災演練。
  9. 備份恢復實作:定期恢復測試、時間點恢復 (PITR)、表空間/表級恢復 (TSPITR)。
  10. 廠商支援聯繫:SR 開立、Patch 追蹤、Security Alert 評估部署。
  11. 中介層/客戶端連線問題排查:TNS、Listener、防火牆、驅動版本相容。
  12. 安全強化:加密 (TDE、Network Encryption)、掃描弱點、合規稽核 (PCI, GDPR)。
  13. 文檔與知識管理:架構圖、SOP、變更記錄、事故複盤報告。

每日巡檢 (必做,約 15-30 分鐘)

#檢查項目關鍵指令/視圖異常處理
1Instance/資料庫狀態ps -ef | grep pmon, SELECT status FROM v$instance異常啟動/掛起 → 檢查 Alert Log
2檔案系統/ASM 磁碟組空間df -h, SELECT * FROM v$asm_diskgroup使用率 > 80% → 擴容/清理/歸檔搬移
3Alert Log / Trace 新錯誤tail -f $DIAG_HOME/alert_$ORACLE_SID.log, adrciORA- 錯誤 → 依錯誤碼排查、開 SR
4備份成功與否RMAN: LIST BACKUP SUMMARY; Export: 檢查 .log 結尾 "successfully completed"失敗 → 立即重跑、升級處理
5資料檔狀態SELECT file_name, status FROM dba_data_files WHERE status!='ONLINE'OFFLINE/RECOVER → 執行恢復
6表空間使用率 & 最大連續自由空間查詢 dba_free_space + dba_data_files 聯結 SQL> 85% 或最大連續 < NEXT_EXTENT → 加檔/擴容
7效能基線指標CPU%、I/O wait、Buffer Cache Hit Ratio、Library Cache Hit Ratio、Top 5 SQL (AWR/ASHRPT)指標偏離基線 > 20% → 根因分析
8作業系統資源vmstat 5 3, iostat -x 5 3, top, sarCPU 飽和、I/O 隊列長、Swap 使用 → 擴容/調優
9記錄 DBA 日誌填寫巡檢表、異常處理紀錄、變更單號追溯依據、合規需求

每週巡檢 (深度檢查,約 1-2 小時)

#檢查項目關鍵動作
1物件空間成長趨勢比對每日 dba_segments bytes 變化,找出成長最快 TOP 10,決定是否刪歷史/分區/擴容
2資料量成長趨勢統計核心表列數變化,評估分區策略、歸檔策略
3系統健康檢查核對 init.ora/spfile、Controlfile 多路徑、Redo Log 多工、Archivelog 模式、Sort Area、暫存/系統/Undo 表空間碎片、資料檔 Autoextend、物件 Extent 數/Next Extent、Undo 保留、Logging/Trace 參數
4無效物件清理SELECT owner,object_name,object_type FROM dba_objects WHERE status='INVALID' → UTL_RECOMP.RECOMP_SERIAL 或手動重編譯
5停用約束/觸發器檢查dba_constraints WHERE status='DISABLED', dba_triggers WHERE status='DISABLED' → 確認業務影響、決定啟用/移除
6每週備份完整性驗證抽樣 RMAN RESTORE VALIDATE 或 IMP 還原測試

每月巡檢 (策略性優化,半天~一天)

#檢查項目關鍵動作
1統計資訊收集DBMS_STATS.GATHER_SCHEMA_STATS (含 CASCADE=>TRUE, METHOD_OPT=>'FOR ALL COLUMNS SIZE AUTO'),或啟用自動統計收集作業
2表空間碎片分析查詢 DBA_FREE_SPACE 碎片程度、DBA_SEGMENTS Extent 計數、執行 SEGMENT_ADVISOR,決定是否 MOVE/REBUILD 或 SHRINK SPACE
3效能歷史趨勢分析比較過去 30 天 AWR 快照:DB Time、Top Events、Top SQL、Wait Class、吞吐量,找出退化根因
4效能調優實施建立/調整索引、SQL Profile、SQL Plan Baseline、分區裁剪、參數微調 (需變更控管)
5空間管理規劃依成長趨勢預測未來 3-6 個月空間需求,提交擴容/採購申請、調整表空間佈局
6全面健康檢查報告輸出月報:可用性、備份成功率、效能基線、異常事件、變更記錄、風險項目、下月計畫

自動化與工具化建議

  • 將每日/每週 SQL 封裝為 DBMS_SCHEDULER 作業,產生 HTML 報告郵寄。
  • 導入 Oracle Enterprise Manager Cloud Control 或 OEM Express 圖形化監控、告警、報表。
  • 使用 Ansible/Terraform 管理資料庫配置即代碼 (IaC),版本控管參數變更。
  • 建立 Runbook (操作手冊) 涵蓋 Top 20 常見故障處理步驟,新人也能按圖索驥。

總結

DBA 工作本質是**「預防 > 發現 > 恢復 > 優化」**。建立分級巡檢機制、自動化常規任務、保留彈性應對突發,才能在資料庫規模與複雜度成長時仍掌控全局。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved