oracle數(shù)據(jù)庫狀態(tài)監(jiān)控
1、功能介紹
1、檢查oracle數(shù)據(jù)庫的運行狀態(tài)
2、第一次失敗后,等待5秒鐘再次檢查一次
2、腳本
#!/bin/bash
source /etc/profile
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
w=$(cd $(dirname $0);pwd)
#檢查數(shù)據(jù)庫的方法
fun(){
result=$(sqlplus -s ${user}/${pass}@${database} <<EOF
WHENEVER SQLERROR EXIT FAILURE ROLLBACK
SET HEADING OFF
SET FEEDBACK OFF
SET VERIFY OFF
${sql_query}
EOF
)
new_result=$(echo "$result"|tr -d '[:space:]')
#判斷結(jié)果情況
if [[ $new_result -eq 'OPEN' ]];
then
echo oracle數(shù)據(jù)庫${hj}'連接成功'
else
echo oracle數(shù)據(jù)庫${hj}'連接失敗' >>$w/online-check-tmp.txt
fi
}
#配置參數(shù)調(diào)用函數(shù)
check(){
rm -rvf $w/online-check-tmp.txt
#生產(chǎn)庫
user="system"
pass="pwssswd"
sql_query="select status from v\$instance;"
database="192.168.1.1:1521/scrk"
hj="prod-db1"
fun ${user} ${pass} ${database} ${sql_query} ${hj}
database="192.168.1.2:1521/scrk"
hj="prod-db2"
fun ${user} ${pass} ${database} ${sql_query} ${hj}
database="192.168.1.3:1521/scrk"
hj="prod-db3"
fun ${user} ${pass} ${database} ${sql_query} ${hj}
database="192.168.1.4:1521/scrk"
hj="prod-db4"
fun ${user} ${pass} ${database} ${sql_query} ${hj}
#查詢庫
user="system"
pass="pwssswd"
database="192.168.1.221:1521/rkqry"
hj="query-db221"
fun ${user} ${pass} ${database} ${sql_query} ${hj}
database="192.168.1.222:1521/rkqry"
hj="query-db222"
fun ${user} ${pass} ${database} ${sql_query} ${hj}
database="192.168.1.11:1521/rkqry"
hj="query-db11"
fun ${user} ${pass} ${database} ${sql_query} ${hj}
}
check
#判斷是否有失敗,失敗重新檢測一次,如果還失敗將結(jié)果輸出到文檔
if [[ -e "$w/online-check-tmp.txt" ]];
then
sleep 5
check
if [[ -e "$w/online-check-tmp.txt" ]];
then
cat $w/online-check-tmp.txt >>/var/ftp/pub/$(date +"%Y-%m-%d")
else
echo 'all 2-ok!'
fi
else
echo 'all ok!'
fi
做一個決定,并不難,難的是付諸行動,并且堅持到底。

浙公網(wǎng)安備 33010602011771號