Sqlldr装在数据文件脚本

#!/bin/bash
#------------数据安装的环境变量---------
export ORACLE_SID=orcl12c
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
#----------------------取得文件名---------
echo "start ..."
sqlldr="${ORACLE_HOME}/bin/sqlldr"
homepath='/home/odsamobd/data/oa_log'
echo "load ..." >> $homepath/tmp.log

upfile="hrms_bd_defdoc_" datefile="20161031"
#isoafile=`date -d -1day +%Y%m%d` (获取当前时间函数组成文件格式名)
echo "$upfile" >> $homepath/tmp.log

outfile=".txt"

echo "$outfile" >> $homepath/tmp.log

dateOAfile="$upfile$datefile$outfile"

strd="'"

echo "$strd" >>$homepath/tmp.log

#文件分割符
xlb="x'1B'"
#运行前先删除之前的控制文件
rm $homepath/bd_defdoc.ctl

redaOAfile=/home/odsamobd/data/data_OA/$dateOAfile

        if [ -f $redaOAfile ]; then
           echo "$dateOAfile开始装载。。。。。"
        else
                echo "$dateOAfile 文件不存在。。。。"
        fi
        table='bd_defdoc'

        echo "$table" >> $homepath/bd_defdoc.log

        oact="load data"

        echo "$oact" >> $homepath/bd_defdoc.log
# 拼写装载需要的.ctl控制文件,括号内中是你所需要装载入数表的字段名,
        oactl="infile$strd$redaOAfile$strd"
        oactlfile=" truncate into table $table fields terminated by $xlb trailing nullcols(
        doccode,docname,docsystype,dr,memo,pk_corp,pk_defdoc,pk_defdoc1,pk_defdoclist,sealflag,shortname,ts)"
        echo "$oactlfile"
        echo -e "$oact" >> $homepath/bd_defdoc.ctl
        echo -e "$oactl" >> $homepath/bd_defdoc.ctl
        echo "$oactlfile" >> $homepath/bd_defdoc.ctl
        echo "deptdoc" >> $homepath/tmp.log
# 装载入数据库 用户名/密码@数据库真是名
# $sqlldr market/market@orcldb  control="$homepath/bd_defdoc.ctl"                           #direct=true parallel=true >> $homepath/tmp.log 2>&1 &
# sqlldr app_mark/app_mark@orcldb  control="$homepath/bd_defdoc.ctl" >> $homepath/bd_defdoc.log 2>&1 & #direct=true  parallel=true >> $homepath/tmp.log 2>&1 &
  sqlldr history/history@orcldb  control="$homepath/bd_defdoc.ctl"                         #direct=true parallel=true >> $homepath/tmp.log 2>&1 &
    echo "装载完成。。。。。。。。。。。"


        echo "$sqlldr market/market@orcldb  control='$homepath/bd_defdoc.ctl' " >> $homepath/tmp.log
        echo $oactlfile >> $homepath/bd_defdoc.log
        echo "end ..." >> $homepath/bd_defdoc.log
        exit 0
 

转载于:https://my.oschina.net/u/3650759/blog/1529720

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值