oracle 自动生成 awr 报告的 简单 shell 脚本


转自:http://blog.sina.com.cn/s/blog_68236b870100wns1.html


vim ~oracle/auto/awr.auto                          #编辑生成 awr 报告的脚本 文件,取前一天的24小时 awr报告

#!/bin/bash                                              


#加载一下oracle的环境变量文件,不然 sqlplus 命令在crontab 计划任务里不能被执行(或者用 source /home/oracle/.bash_profile)

. /home/oracle/.bash_profile


#定义变量----生成awr报告的文件类型

AWR_FORMAT=html


#定义变量---- 拉取几天内的snap列表               

NUM_DAYS=3

#定义变量----生成的awr报告的结束snap ID  ,即:end_snap  
MAX_SNAP_ID=`sqlplus -S / as sysdba << EOF
set heading off trimspool on feedback off
SELECT trim(max(SNAP_ID))-3 FROM DBA_HIST_SNAPSHOT;                 #我在crontab里设置每天凌晨3点10分执行,所以要取最大ID 后在减3
EOF`

#定义变量----生成的awr报告的开始snap ID  ,即:begin_snap

MIN_SNAP_ID=`expr $MAX_SNAP_ID - 24` 


#生成的awr报告的文件路径及文件名

AWR_LOG=/tmp/AWR_shahand_`date '+%Y%m%d_%H%M'`.html

#生成awr报告

echo -e "$AWR_FORMAT\n$NUM_DAYS\n$MIN_SNAP_ID$MAX_SNAP_ID\n$AWR_LOG\n"|(sqlplus -S / as sysdba @?/rdbms/admin/awrrpt.sql) > /dev/null

:wq  保存退出


crontab -e

10 3 * * * /home/oracle/awr.auto

:wq







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值