cd $HOME/data/
ls yilta.txt > ${HOME}/data/datalist.log
num=`cat ${HOME}/data/data.log | wc -l`num2=1
if [ $num != $num2 ] 
then 
  echo "$currdate|ftp失败" >> ${HOME}/data/msg.log
  
 else 
  echo "$currdate|ftp成功" >>${HOME}/data/msg.log
fi
sqlldr userid=${ORACLE_USER}/${ORACLE_PWD}@${ORACLE_SID} control=${HOME}/data/main.ctl log=${HOME}/data/main.log direct=true
numyilta10=`cat ${HOME}/data/yilta.txt | wc -l`
sqlplus ${ORACLE_USER}/${ORACLE_PWD}@${ORACLE_SID} <<!
ALTER TABLE yilta nologging;sqlldr userid=${ORACLE_USER}/${ORACLE_PWD}@${ORACLE_SID} control=${HOME}/data/yilta.ctl log=${HOME}/data/yilta .log direct=true
echo "$currdate|成功|yilta |$numyilta 10" >>${HOME}/data/err.log

解决方案 »

  1.   


    --进入目录 $HOME 是环境变量,查看 echo $HOME
    cd $HOME/data/
    --查看 yilta.txt 信息,将查看结果写入 datalist.log 文件,感觉少个 >
    ls yilta.txt > ${HOME}/data/datalist.log
    --查看 data.log 记录行数(wc -l),将这个值赋给 num
    num=`cat ${HOME}/data/data.log | wc -l`num2=1
    if [ $num != $num2 ]  
    then  
      --打印 日期|ftp失败 到 msg.log 文件
      echo "$currdate|ftp失败" >> ${HOME}/data/msg.log
        
     else  
      echo "$currdate|ftp成功" >>${HOME}/data/msg.log
    fi--sqlldr 命令 不用解释了吧
    sqlldr userid=${ORACLE_USER}/${ORACLE_PWD}@${ORACLE_SID} control=${HOME}/data/main.ctl log=${HOME}/data/main.log direct=true--看yilta.txt 记录行数
    numyilta10=`cat ${HOME}/data/yilta.txt | wc -l`--进入oraclesqllus环境
    sqlplus ${ORACLE_USER}/${ORACLE_PWD}@${ORACLE_SID} <<!--执行如下命令 后回到宿主环境 (<<!)
    ALTER TABLE yilta nologging;--执行sqlldr
    sqlldr userid=${ORACLE_USER}/${ORACLE_PWD}@${ORACLE_SID} control=${HOME}/data/yilta.ctl log=${HOME}/data/yilta .log direct=true
    --打印日志
    echo "$currdate|成功|yilta |$numyilta 10" >>${HOME}/data/err.log