oracle数据库状态监控

1、功能介绍
    1、检查oracle数据库的运行状态
    2、第一次失败后,等待5秒钟再次检查一次
2、脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
source /etc/profile
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
w=$(cd $(dirname $0);pwd)
 
#检查数据库的方法
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:]')
 
#判断结果情况
if [[ $new_result -eq 'OPEN' ]];
   then
     echo oracle数据库${hj}'连接成功'
   else
     echo oracle数据库${hj}'连接失败' >>$w/online-check-tmp.txt
fi
 
}
#配置参数调用函数
check(){
rm -rvf $w/online-check-tmp.txt
#生产库
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
#判断是否有失败,失败重新检测一次,如果还失败将结果输出到文档
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

  

 
posted @   苍茫宇宙  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2020-07-10 nacos-kubernet集群安装(离线安装)
2020-07-10 redis-kubernet集群离线安装
2020-07-10 kubespherev2.1.1-离线安装
2020-07-10 kubernetes1.17.2离线安装
2020-07-10 ansible-tidb3.0安装(离线版)
2020-07-10 centos7配置ntp服务器和客户端同步
2020-07-10 mysql修改密码
点击右上角即可分享
微信分享提示