ORACLE 告警日誌alert過大的處理
現在,對於我來說,處理ORACLE告警日誌alert多大不再是什麼難題;但是,由於資料庫是公司最重要的裝置,不容有失,處理資料庫相關的程式或檔案還是要特別小心。
目前,ORACLE資料庫主要分widows和LINUX/UNIX版本,對於LINUX/UNIX平臺,我們可以使用tail -n /path/alert*.log|more來檢視,很方便;但是,windows操作平臺,我們遇到如下圖所示那麼大個的告警日誌,該怎麼檢視。你要說直接TXT文字開啟,估計是不會成功的;有人說可以上傳到linux檢視,那還不如當初就在linux上部署Oracle資料庫。所以,過大的ORACLE告警日誌是很不方便檢視的,需要我們運維人員定期檢視並處理。
對於linux平臺,處理很簡單,就是echo /dev/null > /path/alert*.log,舉例如下:
首先,檢視告警日誌的位置:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:09:19 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
core_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/cdump
max_dump_file_size string unlimited
shadow_core_dump string partial
user_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 94275 May 19 18:00 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
其次,一定要先做備份:
[oracle@oradbs ~]$ cp /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log /home/oracle/alert_bak20160607
[oracle@oradbs ~]$ ls
alert_bak20160607 oracle oraInventory
再次,對告警日誌進行截斷處理:
[oracle@oradbs ~]$ echo /dev/null > /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 10 May 19 18:13 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
處理的結果:
[oracle@oradbs ~]$ cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
有人懷疑,動了告警日誌,資料庫是不是就不在往這個告警日誌寫日誌了,答案是不會的,我們切換redo日誌看看:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:15:49 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter system switch logfile;
System altered.
SQL>
SQL> !cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
Thu May 19 18:15:58 2016
Thread 1 advanced to log sequence 7 (LGWR switch)
Current log# 1 seq# 7 mem# 0: /oradata/oradb/redo01.log
Thu May 19 18:15:58 2016
Archived Log entry 4 added for thread 1 sequence 6 ID 0x9ecc00e3 dest 1:
看吧!資料庫還是會寫到截斷的告警日誌裡。
那麼,widows的告警日誌過大又該怎麼處理呢,流程是這樣的:先做備份,然後直接刪除即可,當資料庫發生檢查點或切換redo日誌時,資料庫會自動建立新的告警日誌。舉例如下:
檢視告警日誌:
C:\Users\localadmin>sqlplus sys/oracle as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 6月 7 08:59:53 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
background_core_dump string
partial
background_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
core_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\cdump
max_dump_file_size string
unlimited
shadow_core_dump string
none
user_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
SQL>
由於是演示,我就在trace目錄進行告警日誌備份了:
接下來,就可以刪除原來的告警日誌:
透過切redo日誌,可以使資料庫生成新的告警日誌檔案:
SQL> alter system switch logfile;
系統已更改。
SQL>
目前,ORACLE資料庫主要分widows和LINUX/UNIX版本,對於LINUX/UNIX平臺,我們可以使用tail -n /path/alert*.log|more來檢視,很方便;但是,windows操作平臺,我們遇到如下圖所示那麼大個的告警日誌,該怎麼檢視。你要說直接TXT文字開啟,估計是不會成功的;有人說可以上傳到linux檢視,那還不如當初就在linux上部署Oracle資料庫。所以,過大的ORACLE告警日誌是很不方便檢視的,需要我們運維人員定期檢視並處理。
對於linux平臺,處理很簡單,就是echo /dev/null > /path/alert*.log,舉例如下:
首先,檢視告警日誌的位置:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:09:19 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
core_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/cdump
max_dump_file_size string unlimited
shadow_core_dump string partial
user_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 94275 May 19 18:00 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
其次,一定要先做備份:
[oracle@oradbs ~]$ cp /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log /home/oracle/alert_bak20160607
[oracle@oradbs ~]$ ls
alert_bak20160607 oracle oraInventory
再次,對告警日誌進行截斷處理:
[oracle@oradbs ~]$ echo /dev/null > /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 10 May 19 18:13 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
處理的結果:
[oracle@oradbs ~]$ cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
有人懷疑,動了告警日誌,資料庫是不是就不在往這個告警日誌寫日誌了,答案是不會的,我們切換redo日誌看看:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:15:49 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter system switch logfile;
System altered.
SQL>
SQL> !cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
Thu May 19 18:15:58 2016
Thread 1 advanced to log sequence 7 (LGWR switch)
Current log# 1 seq# 7 mem# 0: /oradata/oradb/redo01.log
Thu May 19 18:15:58 2016
Archived Log entry 4 added for thread 1 sequence 6 ID 0x9ecc00e3 dest 1:
看吧!資料庫還是會寫到截斷的告警日誌裡。
那麼,widows的告警日誌過大又該怎麼處理呢,流程是這樣的:先做備份,然後直接刪除即可,當資料庫發生檢查點或切換redo日誌時,資料庫會自動建立新的告警日誌。舉例如下:
檢視告警日誌:
C:\Users\localadmin>sqlplus sys/oracle as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 6月 7 08:59:53 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
background_core_dump string
partial
background_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
core_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\cdump
max_dump_file_size string
unlimited
shadow_core_dump string
none
user_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
SQL>
由於是演示,我就在trace目錄進行告警日誌備份了:
接下來,就可以刪除原來的告警日誌:
透過切redo日誌,可以使資料庫生成新的告警日誌檔案:
SQL> alter system switch logfile;
系統已更改。
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2116610/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 中 alert 報警日誌過大的處理方法Oracle
- oracle alert日誌亂碼處理Oracle
- Oracle的告警日誌之v$diag_alert_ext檢視Oracle
- oracle監聽器日誌過大-處理辦法Oracle
- oracle alert日誌Oracle
- alert_SID.log 告警檔案過大或誤刪除後的處理
- SQL Server事務日誌過大的處理SQLServer
- apache日誌匯入oracle(日誌經過python處理)ApacheOraclePython
- 歸檔oracle alert日誌Oracle
- alert日誌中出現Private Strand Flush Not Complete的處理方法
- 透過alert日誌看Oracle Startup的三個階段Oracle
- ORACLE11GRAC alert日誌ORA-600 [kqlnrc_1]錯誤處理Oracle
- oracle alert日誌每天截斷truncate_alert.shOracle
- Oracle告警日誌ora-04030Oracle
- oracle12告警日誌檔案?Oracle
- 使用外部表管理Oracle 告警日誌Oracle
- Oracle 11g 中告警日誌的位置Oracle
- 【故障處理】告警日誌報“ORA-01565 Unable To open Spfile”
- 最佳實踐(保持、清理ORACLE alert日誌)Oracle
- 透過alert日誌重建引數檔案
- nginx日誌處理Nginx
- 【ELK】elastalert 日誌告警AST
- 告警日誌介紹
- 【問題處理】處理alert警告日誌中出現無法找到libocr*.so檔案問題
- 一個用python寫的自動監控alert日誌告警資訊的小程式Python
- oracle 11g檢視alert日誌方法Oracle
- Oracle之備份和清理監聽日誌、告警日誌指令碼Oracle指令碼
- orbeon form 的日誌處理ORBORM
- RAC的告警日誌檔案
- Oracle 跟蹤/告警/監聽日誌的清理指令碼Oracle指令碼
- 獲取兩天內的告警日誌(bash|shell|oracle)Oracle
- 獲取一週內的告警日誌(python|Oracle)PythonOracle
- 使用sql查alert日誌SQL
- PHP日誌處理類PHP
- Oracle 警告日誌 (alert log) 中包含哪些內容 ?Oracle
- syslog強大而安全的日誌處理系統
- Oracle DataGuard歸檔日誌丟失處理方法Oracle
- 從alert日誌看Oracle 11g Datagurad日誌傳輸(上)Oracle