ITPub博客

首页 > Linux操作系统 > Linux操作系统 > shell解决我繁琐的sqlldr操作

shell解决我繁琐的sqlldr操作

原创 Linux操作系统 作者:YallonKing 时间:2011-08-12 16:53:17 0 删除 编辑
    最近一直在忙着sqlldr的相关操作,每次要倒入200G的csv文件到库里,就修改控制文件消耗了我大把大把的时间呐,今天索性不不写了,好好观察了下,发现文件都有规律可循,于是就试着写了个简单的shell脚本,经过测试还行,每次只需要修改一个控制文件就行,算是把我从重复性工作中解脱出来了...
 
一下是大致内容:
 
[oracle@test test]$ ll
total 20
-rwxrwxrwx. 1 oracle oinstall  355 Aug 12 01:21 change.sh
-rw-r--r--. 1 oracle oinstall  163 Aug 12 00:17 ctl.ctl
drwxr-xr-x. 2 oracle oinstall 4096 Aug 12 01:17 file_temp
drwxr-xr-x. 2 oracle oinstall 4096 Aug 12 01:17 log
drwxr-xr-x. 2 oracle oinstall 4096 Aug 12 01:14 testsource
 

#!/bin/bash
file_in=/tmp/test/testsource
file_temp=/tmp/test/file_temp
for file_a in ${file_in}/*; do
    cp $file_a $file_temp/test.csv
    filename=`basename $file_a`
    sqlldr test/test control=/tmp/test/ctl.ctl bad=/tmp/test/test.bad  log=/tmp/test/test.log  direct=true
    rm -rf $file_temp/*
    mv /tmp/test/test.log /tmp/test/log/$filename
done
 

[oracle@test test]$ cat ctl.ctl
load data
infile '/tmp/test/file_temp/test.csv'
into table test append
fields terminated by ',' TRAILING NULLCOLS(
id terminated by ',',
name terminated by '\n'
)
 
 
总结:工作需要动脑子 .....留此日志以作纪念!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26143577/viewspace-704757/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-08-07

  • 博文量
    72
  • 访问量
    268587