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 两则的更多相关文章

  1. jquery script两个属性

    今天使用jquery cdn时发现多了两个属性. <script   src="http://code.jquery.com/jquery-2.2.4.min.js"   i ...

  2. 【转】HTML-based script和URL-based script两种脚本录制方式

    在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...

  3. java script两个列表之间移动数据

    <select name="b1" id="hao" style="width:100px; height:200px;" size= ...

  4. angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用

    今天我们要讲的是ng2的路由系统. 例子

  5. 第2章 两种调用JS的方法——在HTML中使用JavaScript

    一. <script>标记 第一种方法是把 <sript></script>直接放到head和script两个标记之间(title下面,</head>上 ...

  6. LR 两种html与url录制

    一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解.最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别 ...

  7. LR 两种录制:html与url

    一直在使用LR,对于Html_based script和Url-based script 两种录制方式之间,要如何选择,仍是一知半解.最近测试时遇到同样的业务功能,两种录制方式的脚本,单次执行时间差别 ...

  8. javaScript 计算两个日期的天数相差

    一:计算两个日期相差的天数 1 <html> <head> <meta http-equiv="Content-Type" content=" ...

  9. JS 中的事件绑定、事件监听、事件委托

    事件绑定 要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数.所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称. 在JavaScript中,有 ...

随机推荐

  1. HttpUtil工具类

    HttpUtil工具类 /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param params * 请求参数,请求参数应该是name1=val ...

  2. 如何利用Visual studio 2010创建一个ASP网站?

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="UserLogin.aspx.c ...

  3. mysql 注册登陆表单并且操纵元素

    <?php      error_reporting(E_ALL^E_DEPRECATED^E_NOTICE);    header("content-type:text/html;c ...

  4. IoC容器Autofac正篇之依赖注入(七)

    依赖注入,这个专业词我们可以分为两个部分来理解: 依赖,也就是UML中描述事物之间关系的依赖关系,依赖关系描述了事物A在某些情况下会使用到事物B,事物B的变化会影响到事物A: 注入,医生通过针头将药物 ...

  5. java web服务器tomcat介绍【转载】

    机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...

  6. linq中的分组和排序

    一.分组  group 组内成员 by 分组条件 into 组的信息 class Program { static void Main(string[] args) { string[] name = ...

  7. Augular JS里的各种ng

    Augular JS里的各种ng- 正文: 1.ng-disabled="一种状态:该状态下不可用"例如: %button.btn.btn-2(ng-disabled=" ...

  8. CocoaAsyncSocket框架的简单封装

    在iOS开发中使用socket(CFNetwork),一般都是用第三方库AsyncSocket. 参考博客:http://my.oschina.net/worldligang/blog/396881? ...

  9. SQL查询表,表的所有字段名,SQL查询表,表的所有字段名

    SQL查询表,表的所有字段名 2011-07-29 10:21:43|  分类: SQLServer |  标签:表  sql  字段   |举报 |字号 订阅   SQL查询表,表的所有字段名 SQ ...

  10. Linux 配置tomcat遇见的若干问题

    1.提示catalina.sh缺失 原因:未对bin目录下的.sh文件授权 执行:chmod +x bin/*.sh即可 2.正常启动Tomcat 但是外界无法访问 Linux防火墙原因,进入到 et ...