sqllder调用ctl抽数脚本

一般数据量大的话用离线调用的方式实现: 1.写一个shell脚本调用nohup: nohup sh test.sh >nohup.out

2.写一个调用ctl的shell脚本:命名为:test.sh 内容如下: sqlldr userid=用户名/密码@SID control=/home/test/user.ctl log=/home/test/user.log bad=/home/test/user.bad direct=true 注:路径需要些绝对路径;

3.写一个ctl文件: 内容如下: options(direct=true,bindsize=20971520,readsize=20971520,errors=-1) load data CHARACTERSET ZHS16GBK --oracle字符集 infile '/home/test/user.txt' --具体路径地址及文件名 "str X'170A'"--这个貌似是hash解析?可不加。 truncate into table user --具体表名:本表名为user FIELDS TERMINATED BY '$' --分隔符 trailing nullcols( id "TRIM(:id)" , name "TRIM(:name)"
)

4.写完这些脚本调用sh test.sh就可以了。 总结:这些知识流程性的内容。不可能应用到所有服务器中,但是大体类似。仅供参考。

转载于:https://my.oschina.net/meSpace/blog/693151

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值