#!/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