查看oracle磁盘组空间,shell脚本检查oracle中的ASM磁盘组空间并发送邮件
我正在尝试编写一个shell脚本来监视ORACLE中的ASM实例,并将相应的人员邮寄到邮件列表中。我写了下面的脚本。shell脚本检查oracle中的ASM磁盘组空间并发送邮件
#/bin/sh
#set -x
USER=xxx
PASS=yyy
CC_OFFSHORE="[email protected] , [email protected] , [email protected]"
CC_TEAM="$CC_OFFSHORE , [email protected]"
. /home/oracle/.TESTenv #(NOT MANDATORY. DEPENDS ON YOUR ENVIRONMENT)
sqlplus -s $USER/$PASS << EOF
spool /home/oracle/SABARISH/RETVAL.log
set linesize 140
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
col group_number format 999
col diskgroup format a20
col total_mb format 999,999,999
col free_mb format 999,999,999
col tot_used format 999,999,999
col pct_used format 999
col pct_free format 999
select group_number,
name diskgroup,
total_mb,
free_mb,
total_mb-free_mb tot_used,
pct_used,
pct_free
from (select group_number,name,total_mb,free_mb,
round(((total_mb-nvl(free_mb,0))/decode(total_mb,0,1,total_mb))*100) pct_used,
round((free_mb/total_mb)*100) pct_free
from v\$asm_diskgroup
where total_mb >0
order by pct_free
)
/
spool off;
EOF
while read -r values
do
USED_PCT=$(echo $values | awk '{print $6}')
DISKGROUP_NAME=$(echo $values | awk '{print $2}')
WARNING_LIMIT=60
CRITICAL_LIMIT=70
if [ ${USED_PCT} -ge ${WARNING_LIMIT} ] && [ ${USED_PCT} -lt ${CRITICAL_LIMIT} ]
then
echo "WARNING ALERT. $DISKGROUP_NAME disk has used $USED_PCT%" | mailx -s "(WARNING ALERT $USED_PCT% used)" $CXC_OFFSHORE
elif [ ${USED_PCT} -ge ${CRITICAL_LIMIT} ]
then
echo "CRITICAL ALERT.$DISKGROUP_NAME disk has used $USED_PCT%" | mailx -s "(CRITICAL ALERT $USED_PCT% used)" $CXC_TEAM
fi
done < /home/oracle/SABARISH/RETVAL.log
上述脚本工作完美。
我需要做的就是在脚本中添加更多的细节。在执行ASM实例查询之前,我们需要检查数据库是否已启动并正在运行。
并检查特定用户的密码是否已过期或活动。
然后运行ASM查询。如果上述两个约束均失败,则不应执行ASM实例查询。它应该退出。
我该如何实现它?
查看oracle磁盘组空间,shell脚本检查oracle中的ASM磁盘组空间并发送邮件相关推荐
- linux连接oracle的日志,linux shell脚本连接oracle查询数据插入文件和日志文件中
#!/bin/sh sqlplus "用户名/密码@数据库"< sqlplus "用户名/密码"< sqlplus -S "用户名/密码& ...
- 监控Oracle数据库的常用shell脚本
文章介绍了DBA每天在监控Oracle数据库方面的职责,讲述了如何通过shell脚本来完成这些重复的监控工作.本文首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行 ...
- 监控Oracle数据库的常用shell脚本 ORACLE教程 教程作者:佚名 教程来源:不详 教程栏目:ORACLE教程
前言 这篇文章介绍了DBA每天在监控Oracle数据库方面的职责,讲述了如何通过shell脚本来完成这些重复的监控工作.本文首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron ...
- 开发shell脚本检查Nginx实战分享
开发shell脚本检查Nginx实战分享 点这里查看视频讲解 一.本脚本实现功能: 1.自动检查Nginx下面的代理节点是否正常 2.通过页面显示状态,有问题的节点给出页面报警及声音报警. 3.增加新 ...
- 超实用的脚本——检查oracle数据库是否存在潜伏的比特币勒索病毒
转载来源 : 超实用的脚本--检查oracle数据库是否存在潜伏的比特币勒索病毒 : http://www.safebase.cn/article-254989-1.html 概述 分享一个工作中经常 ...
- linux脚本查看系统内存,二个linux下查看内存使用情况的shell脚本()
摘要 腾兴网为您分享:二个linux下查看内存使用情况的shell脚本(),政务易,悦作业,优化大师,王者荣耀等软件知识,以及单向历app,优路教育app,kimoji,开关电源设计软件,皮皮高清影视 ...
- 在Linux中通过shell脚本向oracle数据库插入数据
通过shell脚本向oracle数据库插入数据 思路 实现 shell脚本 数据文件 测试 思路 如何通过shell脚本更新数据库数据?要解决这个问题,首先,我们需要在脑中回忆一下我们通常是如何更新数 ...
- oracle读取表空间物理文件中数据,shell脚本读取oracle数据库数据写入到文件中
1.linux 需要用 sqlplus 客户端去连接oracle 数据库,首先需要确认有没有安装:which sqlplus 2.如果没有安装就需要先安装一下(百度) 3.配置环境变量: vim /e ...
- shell脚本执行oracle删除表,shell脚本操作oracle删除表空间、创建表空间、删除用户...
oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell 使用非oracle用户执行该脚本 参数说名 $1:base表空间的用户名 $2:同步表空间的用户名 使用 ...
- linux清理磁盘空间的脚本,在Ubuntu和Linux Mint上释放空间的7种简单方法
Linux系统空间不足?您可以通过以下几种方式清理系统,释放Ubuntu和其他基于Ubuntu的Linux发行版上的空间. 随着时间的流逝,随着添加和删除程序,任何操作系统都可能变得混乱.如果您拥有T ...
最新文章
- 如何使用 python 减少 kaggle Mushroom Classification 数据集中的特性数量?
- boost::mp11::mp_transform_third相关用法的测试程序
- 2013\Province_Java_B\1.世纪末的星期
- 【完整可运行源码+GIF动画演示】十大经典排序算法系列——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序
- Ubuntu千万不要运行的命令
- Linux安装redis和部署
- python分布式任务调度_Python开源任务调度框架介绍
- PHP+node搞一下58微聊的聊天内容的获取
- Win10磁盘占用100%的解决办法
- 程序员初学者应该如何自学编程
- 雨中走路淋雨多还是跑步淋雨多?
- 【Atheros】minstrel速率调整算法源码走读
- 微商城应该怎样选择?
- kaggle 泰坦尼克号数据分析 笔记
- Precision、Recall、F1-score、Micro-F1、Macro-F1、Recall@K
- python中矩阵的表示方法_在python中创建数字的二进制表示形式的矩阵 - python
- python高级编程
- ASUS华硕天选2_FA506QM5800 QM5900显卡3060原装出厂系统恢复原厂系统11-21H2
- 如来佛代码注释,保佑代码无BUG
- 粒子物理蒙特卡罗模拟库Geant4之能谱制作