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

相关推荐

  • C#如何实现SQL封装

    技术C#如何实现SQL封装这篇文章给大家分享的是有关C#如何实现SQL封装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQLHelper.as , 代码如下:using System;
    us

    攻略 2021年11月24日
  • 计算机中文件夹和子文件夹是什么对多的关系

    技术计算机中文件夹和子文件夹是什么对多的关系这篇文章主要介绍了计算机中文件夹和子文件夹是什么对多的关系,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年10月25日
  • 分析js对象的读取速度

    技术分析js对象的读取速度本篇内容介绍了“分析js对象的读取速度”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、访问字

    攻略 2021年11月8日
  • ps如何添加字体,ps如何添加字体样式文件

    技术ps如何添加字体,ps如何添加字体样式文件1ps如何添加字体、打开PS,新建一个图形文件,并随意输入一行文字2、把该行文字选上,点击如图中位置,可以选择字体样式、大小等。3、在右下侧图层栏把该图像选上,在图像中空白处

    生活 2021年10月20日
  • 如何掌握前端JavaScript中的class类

    技术如何掌握前端JavaScript中的class类本篇内容主要讲解“如何掌握前端JavaScript中的class类”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何掌握前

    攻略 2021年10月22日
  • c语言中typedef和define的区别是什么

    技术c语言中typedef和define的区别是什么这篇文章主要介绍“c语言中typedef和define的区别是什么”,在日常操作中,相信很多人在c语言中typedef和define的区别是什么问题上存在疑惑,小编查阅

    攻略 2021年10月28日