sqlload用法简单介绍

标签:
oraclesqlloadctl文件cvs文件 |
分类: 数据库 |
当用oracle数据库处理百万级别数据时,选择sqlload应该是比较好的方案。下面是自学sqlload的例子,供初学者参考。
1、在哪儿运行sqlload?
首先,电脑上至少装有oracle客户端程序,在这里就可以执行sqlload,运行-->cmd--->sqlldr。里面有很多注释可以自己参考。
如果对sqlload基础还不熟悉的,可以先看一下这篇文章:http://blog.csdn.net/freshairpeng/archive/2010/04/18/5498178.aspx
http://hiphotos.baidu.com/200770842223/pic/item/5873f433f20a5fa21a4cffd9.jpg
2、控制文件
写sqlload需要的控制文件.ctl或者.cvs格式。
control.ctl内容:
LOAD DATA
INFILE 'f:\TL_FUND_MMS_BATCH.txt'
BADFILE 'f:\BAD_TL_FUND_MMS_BATCH1.dat'
APPEND
INTO TABLE tl_fund_mms_batch
Fields terminated by ","
Optionally enclosed by '"'
trailing nullcols
(
)
3、数据文件
TL_FUND_MMS_BATCH.txt内容:
103,"肖测试", "0111022109240241310006", 1, 1, 0, 0, "../webapps/billFiles\data(2).xml", 900000, 900000, 2,2011-4-28 15:50:26,2011-4-28 15:50:26
4、执行命令
我把所有文件都放到了F盘:
http://hiphotos.baidu.com/200770842223/pic/item/093ad5f523682d7fbd310961.jpg
执行命令:sqlldr f:\control.ctl log=f:\log.log
http://hiphotos.baidu.com/200770842223/pic/item/51c30f03c8f814b608fa9382.jpg
5、查看日志
如果执行完命令,在指定的目录下就会生成日志信息,如果执行过程中有错误,就会在相应的目录下生成坏数据文件,
有错误的时候也会打印这句话:达到提交点 - 逻辑记录计数 1。不要认为打印了这句就认为执行成功了。
log.log内容:
SQL*Loader: Release 10.2.0.1.0 - Production on 星期四 5月 12 17:01:38
2011
Copyright (c) 1982, 2005, Oracle.
控制文件:
数据文件:
(可废弃所有记录)
要加载的数: ALL
要跳过的数: 0
允许的错误: 50
绑定数组: 64 行, 最大 256000 字节
继续:
所用路径:
表 TL_FUND_MMS_BATCH,已加载从每个逻辑记录
插入选项对此表 APPEND 生效
TRAILING NULLCOLS 选项生效
------------------------------ ---------- ----- ---- ----
---------------------
NUMBATCHSEQID
VC2BATCHNAME
VC2RESOURCEID
NUMCOUNTTOTAL
NUMCOUNTSUCS
NUMCOUNTLONG