linux sqlloder crontab使用

本文介绍了一个用于自动化部署和执行SQLLoader任务的Shell脚本。该脚本负责创建加载控制文件,执行指定日期的数据加载,并清理超过10天的历史数据文件。此外,还详细说明了如何设置Oracle环境变量以确保脚本能在cron计划任务中正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 [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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值