script 两则
script1:
PATH=/usr/local/bin:/usr/bin:$PATH:.
. $HOME/utility/macro/macro.env
OVO_DIR=/tmp
LOGFILE=$REPORT_DIR/chk_conn.log_`date '+%y%m%d'` MAILLOG=$TMP_DIR/chk_conn.log_`date '+%y%m%d%H%M'` tmpfile=$TMP_DIR/chk_conn.tmp1
OVOLOG=$OVO_DIR/chk_conn.log OVOSMY=$OVO_DIR/chk_conn_smy.log
db_list="test" err_dblst="" sname=yidbmon
EMAIL_LST=$ADMIN_DIR/email.tst #EMAIL_LST=$ADMIN_DIR/email.lst
mail_flag=N WAIT_TIME=$1
rm $OVOLOG
touch $tmpfile $OVOLOG for db_name in ${db_list} do # 2b. Check whether connection is OK or not
$ORACLE_HOME/bin/sqlplus -s oper/oper123@${db_name} @$SCRIPT_DIR/chk_conn.sql > $tmpfile 2>&1 & sleep ${WAIT_TIME}
Msg="" dt1=`date '+%y/%m/%d %H:%M:%S'` dt2=`date '+%y%m%d%H%M%S'`
grep -i $db_name"-" $tmpfile >/dev/null
if [ $? -ne 0 ]; then mail_flag="Y"
echo "Unable to connect to database: " $db_name ".."${dt1} >> $MAILLOG
err_dblst=${err_dblst}" "$db_name"("${dt2}") "
else
echo "Connect to database successfully: " $db_name ".."${dt1} >> $MAILLOG
fi
done
echo "\n" >> $MAILLOG
grep -i "Unable to connect" $MAILLOG >> /dev/null
if [ $? -eq 0 ]; then
echo "Possible Causes:" >> $MAILLOG
echo "1. Scheduled shutdown." >> $MAILLOG
echo "2. Maybe the connection needs more than "${WAIT_TIME}" seconds to complete." >> $MAILLOG
echo "3. Database or listener is not up and running." >> $MAILLOG
echo "Actions:" >> $MAILLOG
echo "1. Please ignore this message if it is a scheduled shutdown." >> $MAILLOG
echo "2. Otherwise run program /macro/chk_db.sh to check database services on yictngd3 & yictngd4." >> $MAILLOG
echo "\n" >> $MAILLOG
sed -e 's/$/ /g' $MAILLOG >$tmpfile
cp $tmpfile $MAILLOG
for iname in `cat $EMAIL_LST`
do /bin/mailx -s "Failed to connect to database " $iname < $MAILLOG done
else
rm -f $tmpfile
fi
if [ "${err_dblst}" != "" ];
then
echo "critical Unable to connect to db : "${err_dblst}"
Check Email or log "${OVOLOG}" on server "$sname > $OVOLOG fi
cat $MAILLOG >> $LOGFILE cat $OVOLOG >> $OVOSMY
chmod 777 $OVOLOG
rm -f $MAILLOG $tmpfile
script2:
yidbmon1:/home/oracle [statdb] >more ./monitor/ngtools/se/se.sh
#! /bin/ksh
BASEDIR=/home/oracle/monitor/ngtools/se #
FILENAME=/home/oracle/monitor/ngtools/se/log/se.log FILENAME=/database/log/se_log/se_nGenpr.log
FIRSTFILTER=50
SECFILTER=30
PATH=/usr/local/bin:$PATH
ORACLE_SID=statdb
ORAENV_ASK=NO
. oraenv > /dev/null 2>&1
touch $FILENAME
#linecnt_bef=`wc -l $FILENAME| cut -f 1 -d ' '`
wc -l $FILENAME| read linecnt_bef other
while [ 1 = 1 ]
do clear
( sqlplus oper/oper123@nGenpr << SEEOF
@se_nGenpr.sql
SEEOF ) | grep '\|\|' | tee -a $FILENAME
#linecnt_aft=`wc -l $FILENAME| cut -f 1 -d ' '`
wc -l $FILENAME| read linecnt_aft other
if [ $linecnt_aft -lt $linecnt_bef ]
then
linecnt_bef=0
fi
DIFF=`expr $linecnt_aft - $linecnt_bef`
################################################################################################################# # By Hilda, 17.July.2007 - to check se.log if the ora-4031 flagged to client connection ################################################################################################################# ERR4031=`tail -$DIFF $FILENAME | grep -i "ORA-04031" | wc -l` if [ $ERR4031 -gt 0 ]
then /usr/bin/mailx -s "nGenpr: ORA-4031 Shared Pool Memory (Client connect from se.log)"
ts-dba@test.com.cn < /dev/null
######################################################################### # Alert set to OVO, then operation run flush_shared_pool.sh for hot fix # ######################################################################### # OVOHOST=192.168.16.193
# OVOUSER=ovusr
# OPCMsgCmd=/opt/OV/bin/OpC/opcmsg
# msg_text="nGenpr: ORA-4031 Shared Pool Memory (Client connect from se.log),
pls run flush_shared_pool.sh for hot fix"
# remsh $OVOHOST -l $OVOUSER "$OPCMsgCmd severity=critical msg_grp=oracle application=oracle object=oracle msg_t="\"$msg_text\"""
fi #################################################################################################################
if [ $DIFF -gt $FIRSTFILTER ]
then # HP specific command => TMPFILE=`mktemp -c -d /tmp`
touch /tmp/se.tmp ;
TMPFILE=/tmp/se.tmp
# HP specific command => tail -l$DIFF $FILENAME > $TMPFILE
tail -$DIFF $FILENAME > $TMPFILE
DIFF2=`grep -v "transaction allocation" $TMPFILE |grep -v "\-\-\-\-\-\-\-\-" | grep -v "sequential read"|grep -v "rdbms ipc message"|grep -v "latch free"|grep -v "log file sync " | grep -v "\[Q\]" | wc -l ` # DIFF2=`expr $DIFF2 * 2 - $DIFF` #
echo $DIFF2
if [ $DIFF2 -gt $SECFILTER ]
then
echo "mail" # /usr/bin/mailx -s "TOO many session wait in Database $ORACLE_SID ($DIFF2)" ts-dba@test.com.cn < $TMPFILE
fi
rm $TMPFILE
fi
linecnt_bef=$linecnt_aft
sleep 10
done
yidbmon1:/home/oracle [statdb] >
script 两则的更多相关文章
- jquery script两个属性
今天使用jquery cdn时发现多了两个属性. <script src="http://code.jquery.com/jquery-2.2.4.min.js" i ...
- 【转】HTML-based script和URL-based script两种脚本录制方式
在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...
- java script两个列表之间移动数据
<select name="b1" id="hao" style="width:100px; height:200px;" size= ...
- angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用
今天我们要讲的是ng2的路由系统. 例子
- 第2章 两种调用JS的方法——在HTML中使用JavaScript
一. <script>标记 第一种方法是把 <sript></script>直接放到head和script两个标记之间(title下面,</head>上 ...
- LR 两种html与url录制
一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解.最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别 ...
- LR 两种录制:html与url
一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解.最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别 ...
- javaScript 计算两个日期的天数相差
一:计算两个日期相差的天数 1 <html> <head> <meta http-equiv="Content-Type" content=" ...
- JS 中的事件绑定、事件监听、事件委托
事件绑定 要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数.所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称. 在JavaScript中,有 ...
随机推荐
- Android中的Fragment页面切换和selector选择器
效果如图: 提示:下面是用的整个的图片 下面看代码: //--------------------这是主页面布局文件----------------------- <?xml version=& ...
- javaWeb知识的回顾
16年7月毕业,现在工作也有3个多月了.一直是在做一些增删改查,技术上没有太大的突破,自己总结下原因,还是原理理解的不够透彻,地基没打好就盖不成高楼. 在51cto上找到了佟刚老师的视频,快进游览一遍 ...
- C语言隐式强制类型转换
今天又被精度问题困扰,把最基本的东西忘了. int n = 5; int cnt = 5.5; double sum = (n-cnt); 运算完后sum是 -0.5.不知道什么时候n转换成doub ...
- Eclipse中配置weka,以及添加算法
Eclipse中配置weka 1 找到weka的安装位置,寻找weka的压缩文件weka-src.jar,将压缩文件解压,解压出的文件夹weka-src. 2 打开Eclipse,新建Java pro ...
- BFS and Queue
BFS (Bridth First Search) can be implemented by a queue. Procedure is like this: (Q is Queue) 1, Put ...
- Global事件执行顺序
Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...
- fszipx.exe
来源:http://www.funduc.com/fszipx.htm 是个免费软件,用于把.zip转化为.exe自解压文件. COPY /B "C:\Tools\FsZipX\FsZipX ...
- Myeclipse 创建 Web Maven项目
1.创建Web项目 添加Maven支持 2.pom.xml 报如下错误: 解决办法: pom.xml里面添加依赖: <dependency> <groupId>com.thou ...
- SQL语句创建access表
CREATE TABLE Persons(ID AutoIncrement primary key,Id_P int NOT NULL,LastName varchar(255) NOT NULL,s ...
- 转 Oracle DBCA高级玩法:从模板选择、脚本调用到多租户
但凡是学过Oracle的同学,对DBCA(Database Configuration Assistant, DBCA)都不会陌生,有了这个工具,使得创建数据库成为可能.而DBCA本身有图形和静默两种 ...