| 項目 | 檢查指令/視圖 | 異常處理 |
|---|---|---|
| 實例狀態 | ps -ef | grep pmon / SELECT status FROM v$instance | 重啟實例、檢查 Alert Log |
| 檔案系統空間 | df -h / SELECT * FROM dba_free_space | 清理舊日誌、擴充磁碟、調整 AUTOEXTEND |
| Alert Log 錯誤 | tail -100 $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log | 記錄 ORA- 錯誤、追蹤根因、修正 |
| 備份狀態 | RMAN: LIST BACKUP SUMMARY / 第三方工具日誌 | 重跑失敗備份、檢查磁帶/磁碟空間 |
| 資料檔狀態 | SELECT file_name FROM dba_data_files WHERE status != 'ONLINE' | 離線檔案恢復、媒體恢復 |
| 表空間使用率 | 查詢 dba_data_files + dba_free_space 計算 % | >85% 預警,>95% 擴容 |
| 效能基線 | Statspack / AWR / vmstat 5 5, iostat -x 5 5 | CPU/IO/等待事件異常分析 |
dba_segments 歷史快照,識別暴增物件,規劃分區/歸檔/擴容spfile/init.ora) 異動審核max_dump_file_size)SELECT owner, object_name, object_type FROM dba_objects WHERE status='INVALID' → ALTER ... COMPILEdba_constraints/dba_triggers WHERE status='DISABLED'| 任務 | 執行方式 | 產出 |
|---|---|---|
| 統計資訊收集 | DBMS_STATS.GATHER_SCHEMA_STATS(ownname=>'SCOTT', estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt=>'FOR ALL COLUMNS SIZE AUTO') | 優化器統計更新 |
| 表空間碎片分析 | 查詢 dba_free_space 連續區塊分布,TABLESPACE_MAP 視覺化 | 重組/COALESCE/縮遷計畫 |
| 效能趨勢比對 | AWR/Statspack 報告比對 Top SQL、等待事件、IOPS 變化 | 調優機會清單 |
| SQL 調優 | SQL Tuning Advisor / 手動改寫 / 索引調整 / 統計鎖定 | 執行計畫優化 |
| 容量規劃 | 依增長率推算 3-6 個月空間需求,提報採購 | 擴容提案 |
| 完整健康報告 | 整合上述所有檢查結果 | 管理層報告 |
「最好的 DBA 是把 80% 時間花在自動化巡檢與預防,只有 20% 時間處理故障。」