如何在系統上檢視當天Oracle log切換頻率

maohaiqing0304發表於2014-03-20

Oracle log 每次切換會記錄到告警日誌中 設想寫個方案來檢視log切換頻率來判斷Oracle log是否應該更改大小..
   該文章可用於對資料庫的監控檢查指令碼..  如果指令碼中輸出時間間隔在10分鐘之內  或者更短的話說明您的logfile 過小或者事務數/量過大
 
具體思路和指令碼如下:
思路:
1)讀取Oracle告警檔名稱 --&gt  為方便所有環境 將會用到Oracle 的環境變數中的$ORACLE_BASE/$ORACLE_SID  實現步驟如‘藍色字樣
2)檔案找到 要讀取當天log切換,由於每個作業系統的/etc/sysconfig/i18n顯示時間格式不一,所以沒有用date 讀取  
   以下指令碼 是利用Linux基本命令實現讀取系統上當天Oracle log切換頻率,實現步驟如‘綠色字樣


實現步驟:..一個為例
1、檢視oracle 引數檔案 
[root@kfdb ~]# grep ORACLE_BASE= /home/oracle/.bash_profile
export ORACLE_BASE=/oradata2/app/oracle
2、檢視該環境變數 為空
[root@kfdb ~]# echo $ORACLE_BASE

3、設定環境變數 ORACLE_BASE
[root@kfdb ~]# ORACLE_BASE=`grep ORACLE_BASE= /home/oracle/.bash_profile `
檢查:
[root@kfdb ~]# echo $ORACLE_BASE
export ORACLE_BASE=/oradata2/app/oracle
4、執行export環境變數 
[root@kfdb ~]# $ORACLE_BASE
檢查是否生效:
[root@kfdb ~]# echo $ORACLE_BASE
/oradata2/app/oracle
[root@kfdb ~]#

指令碼如下:
#/bin/sh
ORACLE_BASE=`grep ORACLE_BASE= /home/oracle/.bash_profile `
ORACLE_SID=`grep ORACLE_SID= /home/oracle/.bash_profile `
$ORACLE_BASE
$ORACLE_SID
cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/
d=`grep  -A 2 "LGWR switch" alert_$ORACLE_SID.log | tail -10| grep -v  Current|grep -v Thread | tail -1|awk -F ' ' '{print $1,$2,$3}'`
grep -A 2 "LGWR switch" alert_$ORACLE_SID.log | grep -A 3 "$d" > /root/"$d".log
cd /root
grep "$d" "$d".log
#可以選擇不刪除  rm -rf "$d".log

#wc=`grep "$d" "$d".log|wc -l`   wc 檢視結果總條目
#bc=`echo $wc-1|bc                  bc計算器
#grep "$d" "$d".log| head -$wc    

註釋:
$ORACLE_SID/ORACLE_BASE : 執行上面的結果
d: 查出系統時間
grep -v:過濾掉 ...  是因為可能存在alter system switch logfile;將原放在最後行的日期更換
grep .... 顯示準確的log切換時間...grep -A 3 "$d" 過濾掉了命令切換沒有寫內容的log 將是log切換頻率的結果



SQL:
    select b.SEQUENCE#,
           b.FIRST_TIME,
           a.SEQUENCE#,
           a.FIRST_TIME,
           round(((a.FIRST_TIME - b.FIRST_TIME) * 24) * 60, 2)
      from v$log_history a, v$log_history b
    where a.SEQUENCE# = b.SEQUENCE# + 1
       and b.THREAD# = 1
    order by a.SEQUENCE# desc;

 謝謝大家閱讀~
希望對您有幫助~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28602568/viewspace-1125506/,如需轉載,請註明出處,否則將追究法律責任。

相關文章