Monitoring
如何監控 Oracle 11g 上的備份作業?
背景:
我正在嘗試監視備份在多個數據庫上按預期執行。Zenoss 用於監控大多數其他東西。
已經使用 Zenoss 結合在數據庫主機上執行 sqlplus 的腳本監控了幾個 KPI。
到目前為止我發現了什麼:
數據庫中的視圖:
- V$RMAN_STATUS
- V$RMAN_BACKUP_JOB_DETAILS;
- V$RMAN_BACKUP_SUBJOB_DETAILS;
止損解決方案:
從 Enterprise Manager 發送警報:
- 設置 > 監控模板 > 創建 > 目標:一些數據庫> 指標門檻值 > 失敗的作業計數
要麼
- 首選項>規則>創建>選項卡“正常”-目標類型:數據庫實例,選項卡“作業”-特定作業>添加特定作業:選擇作業和作業狀態:“問題”
我想知道的:
- 這看起來是否合理,或者是否有另一種首選方法可以將 Oracle 監控集成到第三方 nms 中?(在目前設置中,輪詢優先於陷阱。)
- 需要注意的陷阱。
- 我提到的數據庫視圖和我在 EM 備份歷史中看到的似乎存在顯著差異。我應該在哪裡查找過去備份的狀態?
我自己可能已經找到了幾個答案。將它們張貼在這里以防其他人需要知道:
Google(或我的Google技能)似乎越來越不可靠。
在https://forums.oracle.com/上搜尋論壇我發現了這個執行緒:https://forums.oracle.com/forums/thread.jspa?messageID=9956411,它引用了http://www.morganslibrary.org /reference/dba_best_practices.html。這是提到的程式碼:
SELECT start_time, end_time, input_type, input_type, status FROM v$rman_backup_job_details ORDER BY 1;
和
SELECT vbd.file#, vrbjd.start_time, vrbjd.end_time, vbd.incremental_level, vrbjd.input_type, vrbjd.status FROM v$rman_backup_job_details vrbjd, v$backup_datafile vbd WHERE vbd.completion_time BETWEEN vrbjd.start_time AND vrbjd.end_time AND vrbjd.input_type <> 'ARCHIVELOG' ORDER BY 2,1;
至於為什麼企業管理器中的查詢會選擇較舊的工作,我從工作人員那裡學到了一個很好的技巧:您可以從視圖 v$sqlarea 中讀取最近的查詢。select sql_text from v$sqlarea order by last_active_time desc之類的東西應該可以解決問題。