db2生产应用监控
来源:未知 责任编辑:责任编辑 发表时间:2014-04-20 03:41 点击:次
#!/bin/ksh
#monitor db2 -----------------------------------------------------
v_dbname=spshis
mo_run(){
# run db2pd
start_or_not=`db2 -x "select count(*) from sysibmadm.SNAPAPPL where uow_stop_time is null and current timestamp- uow_start_time >5 with ur"`
start_or_not1=`uptime|awk -F"," '{print $6}'`
start_or_not2=`db2pd -d sample -lock wait|wc -l`
date >> monitor_log
if [ $start_or_not -gt 0 ];then
v_f=`date +%y%m%H%M%S`
start_or_not4=`db2 -x "select count(*) from sysibmadm.SNAPAPPL where uow_stop_time is null and current timestamp- uow_start_time >200 with ur"`
if [ $start_or_not4 -gt 0 ];then
db2pd -d $v_dbname -tran -dyn -lock wait -app >monitor_log"$v_f"
fi
db2 -x "select a.agent_id ,c.tpmon_client_wkstn ,b.stmt_text, current timestamp- a.uow_start_time used_time
from sysibmadm.SNAPAPPL a ,sysibmadm.SNAPSTMT b,sysibmadm.SNAPAPPL_INFO c
where a.agent_id=b.agent_id
and a.agent_id=c.agent_id
and a.uow_stop_time is null
and current timestamp- a.uow_start_time >5 with ur" >> monitor_log"$v_f"
#rmove wuxiao---
sh hj_file
sleep 20
return
fi
if [[ $start_or_not1 > 30 ]];then
v_f=`date +%d%m%H%M%S`
return
fi
if [ $start_or_not2 -gt 5 ];then
v_f=`date +%d%m%H%M%S`
db2pd -d $v_dbname -tran -dyn -lock wait -app >>monitor_log"$v_f"
sleep 20
return
fi
}
db2 connect to $v_dbname > /dev/null
# run ever 20 second
second=0
while true
do
echo 'start-------------------'
mo_run
sleep 5
let second=${second}+5
if [ ${second} -gt 7200 ];then
break
fi
done
#monitor db2 -----------------------------------------------------
v_dbname=spshis
mo_run(){
# run db2pd
start_or_not=`db2 -x "select count(*) from sysibmadm.SNAPAPPL where uow_stop_time is null and current timestamp- uow_start_time >5 with ur"`
start_or_not1=`uptime|awk -F"," '{print $6}'`
start_or_not2=`db2pd -d sample -lock wait|wc -l`
date >> monitor_log
if [ $start_or_not -gt 0 ];then
v_f=`date +%y%m%H%M%S`
start_or_not4=`db2 -x "select count(*) from sysibmadm.SNAPAPPL where uow_stop_time is null and current timestamp- uow_start_time >200 with ur"`
if [ $start_or_not4 -gt 0 ];then
db2pd -d $v_dbname -tran -dyn -lock wait -app >monitor_log"$v_f"
fi
db2 -x "select a.agent_id ,c.tpmon_client_wkstn ,b.stmt_text, current timestamp- a.uow_start_time used_time
from sysibmadm.SNAPAPPL a ,sysibmadm.SNAPSTMT b,sysibmadm.SNAPAPPL_INFO c
where a.agent_id=b.agent_id
and a.agent_id=c.agent_id
and a.uow_stop_time is null
and current timestamp- a.uow_start_time >5 with ur" >> monitor_log"$v_f"
#rmove wuxiao---
sh hj_file
sleep 20
return
fi
if [[ $start_or_not1 > 30 ]];then
v_f=`date +%d%m%H%M%S`
db2pd -d $v_dbname -tran -dyn -lock wait -app -latch>>monitor_log"$v_f"
sleep 20return
fi
if [ $start_or_not2 -gt 5 ];then
v_f=`date +%d%m%H%M%S`
db2pd -d $v_dbname -tran -dyn -lock wait -app >>monitor_log"$v_f"
sleep 20
return
fi
}
db2 connect to $v_dbname > /dev/null
# run ever 20 second
second=0
while true
do
echo 'start-------------------'
mo_run
sleep 5
let second=${second}+5
if [ ${second} -gt 7200 ];then
break
fi
done
db2 terminate
----如果发现新的功能 会更新该文件
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>