[20111221]快速定位瀏覽alert log檔案.txt

lfree發表於2011-12-21
作為資料庫管理員經常要檢視alert log檔案,每次查詢都要打入很長的路徑,才能訪問alert log檔案,我以前的做法是建立一個別名,寫死整個路徑。
例子:

alias vialert='view /u01/app/oracle/diag/rdbms/test/test/trace/alert_test.log'

這樣每次輸入vialert就可以訪問alert log檔案。

今天看一個網站http://halisway.blogspot.com/2006/11/oracle-alert-log-shell-alias.html,作者思路很簡單,透過shell和sqlplus取出background_dump_dest引數在結合環境變數SID定位alert log檔案。僅僅需要注意的是ORACLE_HOME, PATH and ORACLE_SID引數要設定正確!

alias vialert='view + $(printf "set heading off pages 0 feedback off\n select value from v\$parameter where name='\''background_dump_dest'\'';\n"|sqlplus -S "/ as sysdba")/alert_${ORACLE_SID}.log'
--注: 我修改一下,vi換成了view。僅僅檢視alert log檔案。

我的11G資料庫建立在asm之上,如果要訪問asm alert log檔案:
alias viasmalert='export ORACLE_SID=+ASM;export ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid;view + $(printf "set heading off pages 0 feedback off\n select value from v\$parameter where name='\''background_dump_dest'\'';\n"|sqlplus -S "/ as sysdba")/alert_${ORACLE_SID}.log;export ORACLE_SID=test;export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1'

有點長,修改為function更好一些。如下:
vimasmalert() {
    export ORACLE_SID=+ASM
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid
    view  $(printf "set heading off pages 0 feedback off\n select value from v\$parameter where name='background_dump_dest';\n"|sqlplus -S "/ as sysdba")/alert_${ORACLE_SID}.log
    export ORACLE_SID=test
    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
}

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

相關文章