怎么获取AWR的脚本

技术怎么获取AWR的脚本本篇内容介绍了“怎么获取AWR的脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin/

本篇内容介绍了"怎么获取AWR的脚本"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

#!/bin/bash

# byraysuen

#v02。~/.bash_profile

AWR格式=html

NUM_DAYS=2

############################################

#获取指定时间的snapid的函数

############################################

getSnapid(){ 0

BEgin _ SNAP _ ID=` sqlplus-S/assysdba-RAY

setheading trimmpoolonfeedbackoff

从DBA _ HIST _ SNAPSHOTa、v \ \ $ instance中选择trim(SNAP _ ID),其中to _ char(END _ INTERVAL _ TIME,' yymmdhh 34 ')=' $ 1 '和。实例号=b . instance _ number

雷的

END _ SNAP _ ID=` sqlplus-S/assysdba-RAY

setheading trimmpoolonfeedbackoff

从DBA _ HIST _ SNAPSHOTa、v \ \ $ instance中选择trim(SNAP _ ID),其中to _ char(END _ INTERVAL _ TIME,' yyyymmdh 34 ')=' $ 2 '和。实例号=b . instance _ number

雷的

#判断获取的snapid是否为空

if[-z $ { BEgin _ SNAP _ ID }];然后

echo“scriptcanotagevaluidsnapid,pleatertalarighttimefor-b”

exit96

船方不负担装货费用

if[-z $ { BEgin _ SNAP _ ID }];然后

echo“scriptcanotagevaluidsnapid,pleatertararighttimefor-e”

exit96

船方不负担装货费用

BEgin _ SNAP _ ID=` echo $ { BEgin _ SNAP _ ID } | sed的///g ' '

END _ SNAP _ ID=` echo $ { END _ SNAP _ ID } | sed的///g ' '

}

############################################

#获取帮助的函数

############################################

my _ fun(){ 0

回声'概要: '

回声报/GET _ AWR。' sh-bbe gin _ time-eend _ time-nawr _ name '

回声选项:

echo '-b specificyatimeforbegintimefor,formatyyyymmddhh34 '

' echo '-指定一个specifyatimeforbegintimeofor,formatyyyymmddhh34 '

"回声“-n指定

 name for name of awr"
echo "EXAMPLE:"
echo " ./GET_AWR.SH -b 2019051708 -e 2019051709 -n test"
echo " ./GET_AWR.sh -b \`date +'%Y%m%d18' -d '+1 day ago'\` -e \`date +'%Y%m%d19' -d '+1 day ago'\`  -n test"
}
############################################
#脚本入口,获取参数
############################################
if [ $# -lt 1 ];then
echo "You must specify parameters:"
echo " -b begin time of awr"
echo " -e end time of awr"
exit 99
fi
while (($#>=1))
do
if [ "$1" == "-b" ];then
shift
awrbegintime=$1
shift
continue
fi
if [ "$1" == "-e" ];then
shift
awrendtime=$1
shift
continue
fi
if [ "$1" == "-n" ];then
shift
awrname=$1
shift
continue
fi
if [ "$1" == "-h" ];then
my_fun
exit 0
fi
shift
done
############################################
#健壮性检查
############################################
#参数不可以为空
if [ -z ${awrbegintime} ];then
echo "You must specify parameters:-b for begin time of awr"
exit 98
fi
if [ -z ${awrendtime} ];then
echo "You must specify parameters:-e for end time of awr"
exit 98
fi
if [ -z ${awrname} ];then
echo "You must specify parameters:-n for report name of awr"
exit 98
fi
#判断参数为时间
date -d "${awrbegintime:0:8} ${awrbegintime:8:2}" > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "The valus of -b is invalid date."
exit 97
fi
date -d "${awrendtime:0:8} ${awrendtime:8:2}" > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "The valus of -e is invalid date."
exit 97
fi
############################################
#执行函数,获取snap id
############################################
getsnapID ${awrbegintime} ${awrendtime}
############################################
#定义awr报告的路径
############################################
AWR_LOG=/u02/logout/awr/AWR_${awrname}_${awrbegintime}_${awrendtime}.html
############################################
#获取awr报告
############################################
echo -e "$AWR_FORMAT\n$NUM_DAYS\n$BEGIN_SNAP_ID\n$END_SNAP_ID\n$AWR_LOG\n"|(sqlplus -S / as sysdba @?/rdbms/admin/awrrpt.sql) > /dev/null
############################################
#帮助:
# 参数区分大小写
# -b awr的开始时间,格式:yyyymmddhh34
#   -e awr的结束时间,格式:yyyymmddhh34
#   -n awr报告中的名字
#例子:
# ./GET_AWR.SH -b "2019051708" -e "2019051709" -n test
# ./GET_AWR.sh -b `date +'%Y%m%d18' -d '+1 day ago'` -e `date +'%Y%m%d19' -d '+1 day ago'`  -n test
############################################

“怎么获取AWR的脚本”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/77265.html

(0)

相关推荐

  • 为什么要使用数据库连接池及其好处是什么

    技术为什么要使用数据库连接池及其好处是什么为什么要使用数据库连接池及其好处是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对于一个简单的

    攻略 2021年12月2日
  • 关于计算机中使用补码运算

    技术关于计算机中使用补码运算 关于计算机中使用补码运算1. 原码、反码、补码简单介绍原码、反码、补码都是含有一个符号位的、对带符号数的二进制表示,对应于同一个真值。
    原码带符号位直接读出来就是真值。

    礼包 2021年12月6日
  • 新加坡云主机与 VPS相比的优势

    技术新加坡云主机与 VPS相比的优势随着现在亚太云服务器的火爆,相对有性价比的新加坡云服务器也比较受欢迎,那么租用新加坡云服务器有哪些优势?相比VPS有哪些好处,下面就来简单介绍一下使用VPS 服务器,您拥有服务器的一个

    礼包 2021年11月9日
  • 【Python接口自动化测试】,7)Postman 的使用教程

    技术【Python接口自动化测试】,7)Postman 的使用教程 【Python接口自动化测试】(7)Postman 的使用教程Postman v6的使用Postman: 简单方便的接口调试工具,便于

    礼包 2021年11月7日
  • 基于scopedsession实现线程安全

    技术基于scopedsession实现线程安全 基于scoped_session实现线程安全一、基于scoped_session实现线程安全
    from sqlalchemy.orm import ses

    礼包 2021年11月7日
  • redis缓存出现异常怎么处理(redis缓存遇到的问题及解决方法)

    技术如何解决Redis缓存异常的问题这篇文章将为大家详细讲解有关如何解决Redis缓存异常的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。缓存雪崩缓存雪崩是指缓存同一时间大面积的失

    攻略 2021年12月17日