oracle pkg自动导出发邮件

export ORACLE_SID=PROD
source /home/oracle/.bash_profile

a="$1"

str=`echo $a | tr '[:lower:]' '[:upper:]'`

mkdir -p /tmp/dumppkg/
rm -rf /tmp/dumppkg/*

 


for pkg in ${str[@]};do
echo $pkg
################for#########################################
sql="select case when t.line=1 then  'CREATE OR REPLACE '||t.TEXT when t.line=(SELECT max(v.line)  FROM dba_source v  WHERE v.owner =t.owner AND v.type =t.type AND v.name = t.name) then   t.TEXT||chr(13)||'/ ' else t.TEXT end as txt from dba_source t where t.owner = '' and t.type in ('PACKAGE','PACKAGE BODY') AND T.name='"${pkg}"'  order by t.type,t.line;"

echo 'set heading off'        >  /tmp/${pkg}.sql
echo 'set headsep off'        >>  /tmp/${pkg}.sql
echo 'set newp none'          >>  /tmp/${pkg}.sql
echo 'set sqlblanklines OFF'  >>  /tmp/${pkg}.sql
echo 'set trimspool ON'       >>  /tmp/${pkg}.sql
echo 'set echo off'           >>  /tmp/${pkg}.sql
echo 'set feedback off'       >>  /tmp/${pkg}.sql
echo 'set termout off'        >>  /tmp/${pkg}.sql
echo 'set linesize 4001'      >>  /tmp/${pkg}.sql
echo "spool /tmp/dumppkg/${pkg}.pck"  >>  /tmp/${pkg}.sql

echo $sql >> /tmp/${pkg}.sql

echo 'spool off'  >>  /tmp/${pkg}.sql

execsql=`/u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus / as sysdba <<EOF
@/tmp/${pkg}.sql
EOF`  
 

#########for done###########################################
done

#cd /tmp/dumppkg && zip ${pkg}.pck.zip ${pkg}.pck

/usr/local/bin/sendEmail -f 发件人  -t 收件人 -cc 抄送人  -s smtp.qq.com -u dbprod_pkg_dump -xu 发件人  -xp 密码 -m ${str}   -a /tmp/dumppkg/*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值