怎么获取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)

相关推荐

  • logback的使用和logback.xml详解

    技术logback的使用和logback.xml详解 logback的使用和logback.xml详解转载:https://blog.csdn.net/lhl1124281072/article/det

    礼包 2021年10月20日
  • 自己写的sql返回json格式数据(sqlserver保存json并解析)

    技术实现SQL Server 原生数据从XML生成JSON数据的实例代码怎么编写实现SQL Server 原生数据从XML生成JSON数据的实例代码怎么编写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为

    攻略 2021年12月14日
  • 详解NLP

    技术详解NLP本篇内容介绍了“详解NLP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!处理数据实验中使用的数据或文本语料

    攻略 2021年11月6日
  • Ubuntu 18.04 LTS的网络经常变成问号导致网速很慢的解决办法

    技术Ubuntu 18.04 LTS的网络经常变成问号导致网速很慢的解决办法 Ubuntu 18.04 LTS的网络经常变成问号导致网速很慢的解决办法问题描述:
    Ubuntu系统Gnome桌面顶部栏的网

    礼包 2021年11月12日
  • 怎样进行PostgreSQL数据库入门

    技术怎样进行PostgreSQL数据库入门本篇文章为大家展示了怎样进行PostgreSQL数据库入门,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。安装、设置、创建和开始使用 Po

    攻略 2021年11月29日
  • log4j2异步日志配置(log4j异步日志配置)

    技术log4j2的异步使用及添加自定义参数方式是什么今天就跟大家聊聊有关log4j2的异步使用及添加自定义参数方式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收

    攻略 2021年12月23日