BayaiM__SQLLDR_linux_shell高级版

 
备注:
1.因公司在职,商业机密,顾IP地方加了"*"号,你可以任意写一个数字做IP做就好。
2.不要瞎BB,哥自己写的,挺实用的,里面告诉你许多来龙去脉。
3.也算是知识分享,不算泄露什么鸟。
=========================================================

1.直接上脚本:
-----------------------------------------------------------------------------------------------------------------

[root@oradata script]# cat wx_zfb.sh 
#!/bin/bash
TDATE=`date -d '1 days ago' +%Y%m%d`

Path_wx="/home/ftp/2gdata/wx/$TDATE"
Path_wxwal="/home/ftp/2gdata/wxwal/$TDATE"
Path_jyt_wk="/home/ftp/2gdata/jyt_wk/$TDATE"
Path_zfb_nosett="/home/ftp/2gdata/zfb_nosett/$TDATE"
Path_zfb_sett="/home/ftp/2gdata/zfb_sett/$TDATE"
Path_xnzh="/home/ftp/2gdata/xnzh/$TDATE"
if [  -d "${Path_wx}" ]; then
rm -rf "${Path_wx}"
fi

if [  -d "${Path_wxwal}" ]; then
rm -rf "${Path_wxwal}"
fi

if [  -d "${Path_jyt_wk}" ]; then
rm -rf "${Path_jyt_wk}"
fi

if [  -d "${Path_zfb_nosett}" ]; then
rm -rf "${Path_zfb_nosett}"
fi

if [  -d "${Path_zfb_sett}" ]; then
rm -rf "${Path_zfb_sett}"
fi

if [  -d "${Path_xnzh}" ]; then
rm -rf "${Path_xnzh}"
fi

mkdir -p "${Path_wx}"
mkdir -p "${Path_wxwal}"
mkdir -p "${Path_jyt_wk}"
mkdir -p "${Path_zfb_nosett}"
mkdir -p "${Path_zfb_sett}"
mkdir -p "${Path_xnzh}"

ftp -n<<!
open 172.16.3.*
user js_ls ls3ppqvm
binary
cd /xqfdzwj/wx
lcd ${Path_wx}
prompt
mget 48023010_${TDATE}.txt.gz
close
bye
!
#cd /home/ftp/2gdata/wx/${TDATE} && gunzip -n -q 48023010_${TDATE}.txt.gz
#gunzip -n -q /home/ftp/2gdata/wx/${TDATE}/48023010_${TDATE}.txt.gz

ftp -n<<!
open 172.16.3.*
user js_ls ls3ppqvm
binary
cd /xqfdzwj/wxwal
lcd ${Path_wxwal}
prompt
get 48023010_${TDATE}.txt.gz
close
bye
!
#cd /home/ftp/2gdata/wxwal/${TDATE} && gunzip -n -q 48023010_${TDATE}.txt.gz
gunzip -n -q /home/ftp/2gdata/wxwal/${TDATE}/48023010_${TDATE}.txt.gz

ftp -n<<!
open 172.16.3.*
user js_ls ls3ppqvm
binary
cd /xqfdzwj/jyt_wk
lcd ${Path_jyt_wk}
prompt
get 48023010_${TDATE}.txt.gz
close
bye
!
#cd /home/ftp/2gdata/jyt_wk/${TDATE} && gunzip -n -q 48023010_${TDATE}.txt.gz
gunzip -n -q /home/ftp/2gdata/jyt_wk/${TDATE}/48023010_${TDATE}.txt.gz

ftp -n<<!
open 172.16.3.*
user js_ls ls3ppqvm
binary
cd /xqfdzwj/zfb_nosett
lcd ${Path_zfb_nosett}
prompt
get 48023010_${TDATE}.txt.gz
close
bye
!
#cd /home/ftp/2gdata/zfb_nosett/${TDATE} && gunzip -n -q 48023010_${TDATE}.txt.gz
gunzip -n -q /home/ftp/2gdata/zfb_nosett/${TDATE}/48023010_${TDATE}.txt.gz

ftp -n<<!
open 172.16.3.*
user js_ls ls3ppqvm
binary
cd /xqfdzwj/zfb_sett
lcd ${Path_zfb_sett}
prompt
get 48023010_${TDATE}.txt.gz
close
bye
!
#cd /home/ftp/2gdata/zfb_sett/${TDATE} && gunzip -n -q 48023010_${TDATE}.txt.gz
gunzip -n -q /home/ftp/2gdata/zfb_sett/${TDATE}/48023010_${TDATE}.txt.gz

ftp -n<<!
open 172.16.3.*
user js_ls ls3ppqvm
binary
cd /xqfdzwj/xnzh
lcd ${Path_xnzh}
prompt
get 48023010_${TDATE}.txt.gz
close
bye
!

#cd /home/ftp/2gdata/xnzh/${TDATE} && gunzip -n -q 48023010_${TDATE}.txt.gz
gunzip -n -q /home/ftp/2gdata/xnzh/${TDATE}/48023010_${TDATE}.txt.gz
gunzip -n -q /home/ftp/2gdata/wx/${TDATE}/48023010_${TDATE}.txt.gz

----------------------------------------------------------------------------------------------------------------------

2.直接上脚本:
2.1 >>

[root@oradata wx]# cat wx_all.sh 
#!/bin/bash
sh /home/oracle/u01/sqlldr/wx/01_wx.sh
sh /home/oracle/u01/sqlldr/wx/02_wxwal.sh
sh /home/oracle/u01/sqlldr/wx/03_jyt_wk.sh
sh /home/oracle/u01/sqlldr/wx/04_zfb_nosett.sh
sh /home/oracle/u01/sqlldr/wx/05_zfb_sett.sh
sh /home/oracle/u01/sqlldr/wx/06_xnzh.sh

2.2 >>

[root@oradata wx]# cat 01_wx.sh 
#!/bin/bash
TDATE=`date -d '1 days ago' +%Y%m%d`
file_tt="/home/ftp/2gdata/wx/$TDATE/48023010_${TDATE}.txt"
echo "
load
infile '${file_tt}'    
append  INTO TABLE   union_wx
FIELDS TERMINATED BY '","'
trailing nullcols 
(
  dateofstlm  ,
  timeofloctxn  ,
  mchtid_sl ,
  sl_appid  ,
  mchtid_js ,
  js_appid   ,
  termid  ,
  amountoftxn  ,
  totalfee   ,
  invtfee   ,
  brandfee   ,
  txnclass   ,
  panval   ,
  card_issuer   ,
  card_type   ,  
  singleorgcode   ,
  term_serial_no    ,
  swsystraceaudnum   ,  
  referenceno        ,  
  authorization_no    , 
  orig_term_serial_no , 
  originalsysno  ,
  ori_referenceno   ,   
  mcc   ,
  isdz  ,
  isfr  ,
  mchtid_sld  ,
  appid  ,
  pointfee  ,
  issuerfee   ,
  isqs   ,
  termid_sld   , 
  transaction  ,
  sendinsid   ,
  oriclearingdate   , 
  reserve  ,  
  is_T0   ,
  T0_invtfee   , 
  new3   ,  
  jdbj   ,
  jhf    ,
  zjqsf  ,
  new7 ,
  new8 ,
  new9 , 
  ddh  ,
  tsjf    ,
  tsjflx  ,
  fbjgbs ,
  kzhdj   ,
  fsylbzk  ,
  srcReserve ,
  systemId ,
  UNION_TYPE  CONSTANT '01'
)
">/home/oracle/u01/sqlldr/wx/wx.ctl && sqlldr oggadmin/umsogg@umsdb CONTROL=/home/oracle/u01/sqlldr/wx/wx.ctl log=/home/oracle/u01/sqlldr/wx/wx.log skip=1 rows=200000

01_  * 至  06_*  都是类推

InvtFee             position(242:253),
  PosRemark           position(254:255),
  InvtFee3            position(261:267),
  AccountType         position(269:270),
  TotalFee            position(827:835)

EXT_BILL_NO \"trim(:EXT_BILL_NO)\",
APPID \"trim(:APPID)\",
ORD_STATUS \"trim(:ORD_STATUS)\",
INSERT_TIME  CONSTANT '${TDATE}'
)

3. 

直接上脚本: 

-------------------------------------------------------------------------------------

[root@oradata intelligent_pos]# cat intelligent_pos_one.sh 
#!/bin/bash
#TDATE=`date -d '1 days ago' +%Y%m%d`
#TTXT=`date -d '1 days ago' +'%Y''-'%m'-'%d`
#INDATE=`date -d '1 days ago' +%Y%m%d`
#INSERT_TIME=`date +"%Y%m%d"`

for TDATE in {20170619..20170620}
do

T1=(1)
TDATE0=`expr $TDATE - $T1`
TTXT=${TDATE0:0:4}'-'${TDATE0:4:2}'-'${TDATE0:6:2}

echo "
DELETE FROM UNION_INTELLIGENT_POS T WHERE T.INSERT_TIME='$TDATE';
TRUNCATE TABLE  UNION_INTELLIGENT_POS_TEMP;
exit
">/home/oracle/u01/sqlldr/intelligent_pos/intelligent_pos.sql  && sqlplus oggadmin/umsogg@umsdb @/home/oracle/u01/sqlldr/intelligent_pos/intelligent_pos.sql

file_tt="/home/ftp/2gdata/intelligent_pos/$TDATE0/100200${TTXT}.txt"

echo "
load
infile '${file_tt}'    
append  INTO TABLE  UNION_INTELLIGENT_POS_TEMP
FIELDS TERMINATED BY '|'
trailing nullcols 
(
CHN_ID \"trim(:CHN_ID)\",
PAY_NO \"trim(:PAY_NO)\",
TRANS_TYPE \"trim(:TRANS_TYPE)\",
MRCH_NAME  \"trim(:MRCH_NAME)\",
CARD_NO  \"trim(:CARD_NO)\",
PROCESS_CODE  \"trim(:PROCESS_CODE)\",
TRANS_AMT  \"trim(:TRANS_AMT)\",
TRMNL_FLOWNO  \"trim(:TRMNL_FLOWNO)\",
TRANS_TIME \"trim(:TRANS_TIME)\",
TRANS_DATE  \"trim(:TRANS_DATE)\",
CARD_EXPIRE_DATE \"trim(:CARD_EXPIRE_DATE)\",
SETTLEMENT_DATE  \"trim(:SETTLEMENT_DATE)\",
POS_ENTRYMODE  \"trim(:POS_ENTRYMODE)\",
ACQUIRING_CODE \"trim(:ACQUIRING_CODE)\",
TRMNL_REFERNO  \"trim(:TRMNL_REFERNO)\",
AUTH_CODE  \"trim(:AUTH_CODE)\",
RESP_CODE  \"trim(:RESP_CODE)\",
TRMNL_NO  \"trim(:TRMNL_NO)\",
MRCH_NO  \"trim(:MRCH_NO)\",
TRMNL_BATCHNO  \"trim(:TRMNL_BATCHNO)\",
CARD_TYPE \"trim(:CARD_TYPE)\",
CRE_TIME \"trim(:CRE_TIME)\",
UPD_TIME \"trim(:UPD_TIME)\",
EXT_ORD_NO  \"trim(:EXT_ORD_NO)\",
EXT_BILL_NO \"trim(:EXT_BILL_NO)\",
APPID \"trim(:APPID)\",
ORD_STATUS \"trim(:ORD_STATUS)\",
INSERT_TIME  CONSTANT '${TDATE}'
)
">/home/oracle/u01/sqlldr/intelligent_pos/intelligent_pos.ctl && sqlldr oggadmin/umsogg@umsdb CONTROL=/home/oracle/u01/sqlldr/intelligent_pos/intelligent_pos.ctl log=/home/oracle/u01/sqlldr/intelligent_pos/intelligent_pos.log  rows=200000

echo "
INSERT  INTO  UNION_INTELLIGENT_POS SELECT  DISTINCT * FROM   UNION_INTELLIGENT_POS_TEMP t WHERE T.INSERT_TIME='$TDATE';
COMMIT;
TRUNCATE TABLE  UNION_INTELLIGENT_POS_TEMP;
EXIT;
">/home/oracle/u01/sqlldr/intelligent_pos/intelligent_pos_temp.sql  && sqlplus oggadmin/umsogg@umsdb @/home/oracle/u01/sqlldr/intelligent_pos/intelligent_pos_temp.sql

done

BayaiM__SQLLDR_linux_shell高级版的更多相关文章

  1. yii2高级版账号密码问题

    yii2高级版默认后台没有密码,生成账号密码步骤: 1. CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` ...

  2. PHP框架Yii2.0安装(基础版、高级版)

    最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指 ...

  3. Win7家庭普通版、家庭高级版、专业版、旗舰版版本差别

    刚才我们发了一个大图片:<Windows7.Vista.XP 三大系统功能差异比较一览图>,现在,再发一张对比图片,简要的看看Windows7家庭普通版.家庭高级版.专业版.旗舰版这四个版 ...

  4. 【Win7激活工具2013版下载】适用于旗舰版、家庭高级版等所有版本32/64位 OEM激活

    虽然现在Win8已经发布了,但是身边总是还有一些朋友在用着Win7系统,而近期微软频繁的推送补丁包,导致之前的那些激活都失效了.找了网络上很多工具,之前的那些有的已经不能用了,激活不了,今天就推荐一些 ...

  5. 宣布正式发布 Biz Talk Services、Azure Active Directory 和 Traffic Manager, 同时发布 Azure Active Directory 高级版预览

    除经济优势之外,云计算还在可转化为竞争优势的应用程序开发方面提供了更大的灵活性.我们很高兴看到每天创建的新 Windows Azure 订阅超过 1000 个,更令人兴奋的是,有一半客户使用价值更高的 ...

  6. 自定义高级版python线程池

    基于简单版创建类对象过多,现自定义高级版python线程池,代码如下 #高级线程池 import queue import threading import time StopEvent = obje ...

  7. 希尔排序之C++实现(高级版)

    希尔排序之C++实现(高级版) 一.源代码:ShellSortHigh.cpp /*希尔排序基本思想: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组. 所有距离为d1的倍数的记录放在同 ...

  8. 直接插入排序(高级版)之C++实现

    直接插入排序(高级版)之C++实现 一.源代码:InsertSortHigh.cpp /*直接插入排序思想: 假设待排序的记录存放在数组R[1..n]中.初始时,R[1]自成1个有序区,无序区为R[2 ...

  9. 冒泡排序(高级版)之C++实现

    冒泡排序(高级版)之C++实现 一.源代码:BubbleSortHigh.cpp #include<iostream> using namespace std; /*定义输出一维数组的函数 ...

随机推荐

  1. echarts背景颜色渐变的三种类型

    // 线性渐变,多用于折线柱形图,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比,如果 globalCoord 为 `true`,则该四个值是绝对的 ...

  2. Cesium专栏-裁剪效果(基于3dtiles模型,附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  3. 【JDBC】JDBC入门

    JDBC的入门 搭建开发环境 编写程序,在程序中加载数据库驱动 建立连接 创建用于向数据库发送SQL的Statement对象 从代表结果集的ResultSet中取出数据 断开与数据库的连接,并释放相关 ...

  4. Linux查看文件系统的挂载时间浅析

    我们在Linux系统中如何找到文件系统的挂载时间呢,下面实验测试环境为RHEL 6.6,其它Linux版本没有验证测试.这个简单测试了一下常用的ext3/4.xfs.nfs文件系统. ext文件系统 ...

  5. 获取格式字符串第idx个值及实例

    --根据索引idx值获取格式串中第idx个值 如数据'11,12,13,14,15,16' 方法:格式串+分隔符:@str='11,12,13,14,15,16'+',' select dbo.Get ...

  6. s3c2440裸机-UART编程(二、UART编程实现)

    UART编程 1.初始化 我们的2440支持3个UART串口,以uart0为例讲解. 那么我们需要实现以下这几个函数完成串口的最基本功能: (1)uart0_init()用于初始化串口 (2)putc ...

  7. 201871010116-祁英红《面向对象程序设计(java)》第七周学习总结

    项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...

  8. 剑指Offer-35.两个链表的第一个公共结点(C++/Java)

    题目: 输入两个链表,找出它们的第一个公共结点. 分析: 先统计两个链表的长度,计算他们的差值,然后将两个链表对齐,再去寻找公共节点即可. 程序: C++ class Solution { publi ...

  9. ClickHouse

    ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告 1 安装前的准备1.1 Cent ...

  10. Java笔记(持续更新)

    码云地址    https://gitee.com/MarkPolaris/Java_Mark