oracle學習筆記(三)之檢查Oracle的告警日誌檔案
作為一個 DBA,或者哪怕僅僅是和 Oracle 資料庫打交道的技術人員,你都必須知道告警日誌是什麼,在何處。
而對於 DBA來說,實時的監控資料庫的告警日誌是必須進行的工作,監控並且應該根據不同的嚴重級別,傳送不同級別的告警資訊(通過郵件、簡訊) ,這可以幫助我們及時瞭解資料庫的變化與異常,及時響應並介入處理。
告警檔案錯誤檢查
每日應檢查應用資料庫警報日誌檔案(Alert_SID.log),檢查是否存在資料庫系統錯誤提示資訊,檢視有無“ORA-”,Error”,“Failed”等出錯資訊。根據錯誤資訊進行分析並解決。告警日誌檔案的路徑檢視:show parameter background_dump_dest
清除告警日誌內容
將每天的告警日誌備份好進行清除。具體方法:在$ORACLE_HOME/SID/bdump/ 目錄下開啟alert_ORACLE_SID.LOG這個檔案,然後檢查裡面是否有錯誤資訊,之後每天把它按日期另存為如:alert_ORACLE_SID070416.LOG。再開啟alert_ORACLE_SID.LOG檔案可清除掉裡面的內容,這樣便於檢視告警日誌內容。
檢查Oracle物件的狀態
主要介紹如何檢查相關Oracle物件的狀態,內容共分六個部分,分別為:檢查Oracle控制檔案狀態;檢查Oracle線上日誌狀態;檢查Oracle表空間的狀態;檢查Oracle所有表、索引、儲存過程、觸發器、包等物件的狀態。
檢查Oracle控制檔案狀態
輸入:>sqlplus “/as sysdba”
select * from v$controlfile;
輸出:
STATUS NAME
-------------------------------------
D:/ORACLE/ORADATA/SFYXF/CONTROL01.CTL
D:/ORACLE/ORADATA/SFYXF/CONTROL02.CTL
D:/ORACLE/ORADATA/SFYXF/CONTROL03.CTL
分析:輸出結果應該有3條以上(包含3條)的記錄,“STATUS”應該為空。狀態為空表示控制檔案狀態正常。
檢查Oracle線上日誌狀態
select * from v$logfile;
輸出:
GROUP# STATUS TYPE MEMBER
---------- ------- --------------------------------------------
3 ONLINE D:/ORACLE/ORADATA/SFYXF/REDO03.LOG
2 ONLINE D:/ORACLE/ORADATA/SFYXF/REDO02.LOG
1 ONLINE D:/ORACLE/ORADATA/SFYXF/REDO01.LOG
分析:輸出結果應該有3條以上(包含3條)記錄,“STATUS”應該為非“INVALID”,非“DELETED”。 注:“STATUS”顯示為空表示正常。
檢查Oracle表空間的狀態
select tablespace_name,status from dba_tablespaces;
輸出:
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
TOOLS ONLINE
RBS ONLINE
TEMP ONLINE
USERS ONLINE
INDX ONLINE
DRSYS ONLINE
WACOS ONLINE
IPAS_SUB_DATA ONLINE
IPAS_SUB_IDX ONLINE
IPAS_USG_DATA ONLINE
IPAS_USG_IDX ONLINE
IPAS_ACCT_DATA ONLINE
IPAS_ACCT_IDX ONLINE
NMS ONLINE
NMS_STAT_DATA ONLINE
NMS_STAT_IDX ONLINE
分析:其中“STATUS”應該都為“ONLINE”, 如果“STATUS”值為“OFFLINE”時應該及時分析其狀態原因,並將其改為“ONLINE”狀態。
輸入:select owner,object_name,object_type from dba_objects where status!='VALID' and owner!='SYS' and owner!='SYSTEM';
輸出: no rows selected
分析:如果有記錄返回,則說明存在無效的物件。若這些物件與我們應用相關,那麼需要重新生成這個物件。具體生成方法可以尋求ORACLE的技術支援。
檢查Oracle各個表空間的增長情況
輸出:
TABLESPACE_NAME USED_PERCENT
------------------------------ ------------
DRSYS 30.7578125
FS .19375
INDX .00390625
IPAS_ACCT_DATA 1.2
IPAS_ACCT_IDX 2.2
IPAS_SUB_DATA 7.4
IPAS_SUB_IDX 7.25
IPAS_USG_DATA 12.378125
IPAS_USG_IDX 20.603125
NMS 5.221875
NMS_STAT_DATA 4.5
NMS_STAT_IDX 1.5125
RBS 27.0009766
SA .0375
SYSTEM 34.265625
TEMP 2.71972656
TOOLS .00390625
USERS 608473558
WACOS 10.621875
19 rows selected.
分析:如果使用率“USED_PERCENT”在90%以上,則注意要增加資料檔案來擴充套件表空間而不要是用資料檔案的自動擴充套件功能。
檢查system表空間內的內容
輸出:no rows selected
分析:如果有記錄返回,則表明system表空間記憶體在一些非system和sys使用者的物件。應該進一步檢查這些物件是否與我們應用相關。如果相關請把這些物件移到非System表空間,同時應該檢查這些物件屬主的預設表空間值。