您的位置:首页 > 数据库 > Oracle

REDHAT LINUX_ORACLE11G自动每天发生ADDMRPT报表

2014-08-15 19:12 239 查看
#!/bin/bash
# creator: shark
# function: get addm report
# http://blog.csdn.net/zengmuansha

date
#设置环境变量
export ORACLE_SID=shark1
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export NLS_LANG=american_america.zhs16gbk
#设置运行是变量
SQLPLUS=$ORACLE_HOME/bin/sqlplus
LOGFILE=/home/oracle/dbscripts/logs/addmreport.txt #日志文件
REPFILE=/home/oracle/dbscripts/logs/addmreporxt.txt #报表文件
#获得昨天开始和结束的2个快照点
$SQLPLUS -S shark/3838<<EOF
set echo off
set feedback off
set heading off
set pagesize 0
set linesize 1000
set trimspool on
set timing off
spool $LOGFILE
select snap_id
from dba_hist_snapshot
where instance_number=1
and begin_interval_time >= trunc(sysdate-1)
and end_interval_time < trunc(sysdate)
order by end_interval_time asc;

spool off;
set echo on
set feedback on
set heading on
exit
EOF
line1=`head -n 1 $LOGFILE`

line2=`tail -n 1 $LOGFILE`
echo "line1 is"$line1
echo "line2 is"$line2
set echo off
set feedback off
#产生报表
rm $REPFILE
$SQLPLUS -S shark/235619 <<EOF
define begin_snap=$line1
define end_snap=$line2
define report_name=$REPFILE
@?/rdbms/admin/addmrpt
exit
EOF
#发送邮件
mail -s `date +%Y%m%d%H`'-'`hostname`_addmreport dba01@lotery.hk < $REPFILE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: