[root@caiwu gejun]# cat update_loadctl_SMS.sh
#!/bin/sh
#使用于SQLLoader的部署文件
echo "LOAD DATA">/data/gejun/load_SMS.ctl
echo "INFILE '/data/gejun/t_temp_`date -d '2 days ago' +%Y%m%d`_SMS.cvs'">>/data/gejun/load_SMS.ctl
echo "APPEND INTO TABLE t_spm_bill_info_temp_SMS">>/data/gejun/load_SMS.ctl
echo "FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '/"'">>/data/gejun/load_SMS.ctl
echo "(SRC_TERMINAL_ID,DEST_TERMINAL_ID,SEND_TIME)">>/data/gejun/load_SMS.ctl
#删除一个10天前的上传数据
find /data/gejun/ -name 't_temp_*_SMS.cvs' -type f -mtime +10 |xargs rm -rf
#SQLLoader的执行
exec sqlldr userid=cplatformdata/cplatformdata@orc3 control='/data/gejun/load_SMS.ctl'
#呵呵上次没有添加在shell脚本的执行规则,否则会在crontab里会不执行的,如下:
#oracle sqlldr的环境变量配置
ORACLE_BASE=/home/oracle/app/oracle
ORACLE_HOME=/home/oracle/app/oracle/product/9.2.0
ORACLE_SID=orc3
PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
#SQLLoader的执行
/home/oracle/app/oracle/product/9.2.0/bin/sqlldr userid=cplatformdata/cplatformdata@orc3 control='/data/gejun/load_MMS.ctl'>>startSqlldr.log
#这样放到shell脚本通过crontab就可以运行了
###版权-----found2008 ------邮箱:hiho1128@126.com