現在,對于我來說,處理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告警日志alert過大的處理
新聞來源:http://www.js-pz168.com/article22/iecjcc.html
成都網站建設公司_創新互聯,為您提供網站內鏈、小程序開發、網頁設計公司、定制網站、手機網站建設、定制開發
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯