1、命令写在一行:如,sqlldr sh/&sh_pass@&connect_string control=&ctl_file data=&dat_file log=&log_file direct=yes rows=100000。

2、注意文件的换行符,如果是wind,则是cr/lf,如果是Mac,则是cr,如果是Unix,则是lf,最后转换成十六进制,举例,RECORDS DELIMITED BY 0X'0A'。

3、注意文件路径不要写错,否则,会报找不到文件错误。

4、sql语句分行写时,注意不要有特殊字符。

5、加载日期类型数据的时候,控制文件中的格式:START_DATE DATE "YYYY-MM-DD HH24:MI:SS",数据文件的格式:2011-12-07 18:18:45,不然加载不成功。

6、使用步骤:

oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量导入数据))

 
sqlldr这个命令可以将文本中的数据 大批量的 导入到oracle数据库表中
  www.2cto.com  
在win7下使用很简单,自己亲自动手试了下,分享给大家
 
1.建立一个简单的文本文件,比如:testLoad.txt,内容如下:
 
1,"test",33
 
2,"test",33
 
3,"test",33
 
4,"test",33
 
5,"test",33
 
6,"test",33
 
7,"test",33
 
8,"test",33
 
9,"test",33
 
10,"test",33
  www.2cto.com  
2.在数据库中建立一个表,比如:
 
create table emp(
id number(5),
name varchar2(20),
age number(3),
constraint pk_id primary key(id));
3.建立一个简单的控制文件,比如:test.ctl,内容如下:
 
load data--控制文件标识  
infile 'f:\testload.txt'--要输入的数据文件名  
append
into table test.emp--test为用户名,emp为表名--向哪个表追加记录
fields terminated by ','--指定分割符,终止字段值 
 
( id ,
name ,
age 
)
 
4.打开cmdd命令行工具,sqlplus登录到相应的数据库,输入如下命令
 
sqlldr control='f:\test.ctl' data='f:\testLoad.txt'
 
 
执行结果显示  记录数
 
5.如果想记录执行的过程和日志的话,可以这么写;
 
sqlldr control='f:\test.ctl' data='f:\testLoad.txt' log='f:\log.log'  
6. sqlldr用到的主要参数
1)   userid -- ORACLE username/password   --数据库 用户名/密码
2)control –控制文件
3)   log –记录的日志文件
4)   bad –坏数据文件,记录错误的未加载数据
5)   data –数据文件,* data参数只能指定一个数据文件,如果控制文件也通过infile指定了数据文件,并且指定多个,则sqlldr在执行时,先加载data参数指定的数据文件,控制文件中第一个infile指定的数据文件被忽略,但后续的infile指定的数据文件继续有效
 
6)   discard –丢弃的数据文件
7)   discardmax –允许丢弃数据的最大值        (默认全部)
8)   skip --跳过记录数,从数据文件中,从第一行开始要计算要跳过的行数 (默认0)
9)   load -- Number of logical records to load  (默认全部)
10) errors –允许的错误记录数,超过则终止任务(默认50)
11) rows -- Number of rows in conventional path bind array or between direct path data saves(每次提交的记录数,默认:常规路径64,直接路径全部,所以使用直接路径的话,效率会比普通的好太多太多)
 
12) bindsize -- Size of conventional path bind array in bytes(每次提交记录的缓冲区的大小,字节为单位,默认256000)
13) silent --禁止输出信息(header,feedback,errors,discards,partitions)
14) direct –使用直通路径方式导入(默认FALSE)
如果表中有索引的话,是不能指定direct=TRUE的,除非使用skip_index_maintenance=TRUE,这个就是在导入的时候忽略索引,所以在数据导入完毕以后,查看索引的状态应该都是无效的,需要重建之,如下SQL:select  * from dba_indexes where table_name='?' ;
alter  idnex index_name rebuild ;
 
重新建立索引要比新建索引快。
15) parallel --并行导入 (默认FALSE,注意:parallel并不是让一个sqlldr语句起多个进程来加载数据,而是不锁住加载表,允许别的直接路径加载.所以要使parallel起作用,应该先将要加载的数据文件分成多个,用多个sqlldr语句同时加载,如下例:
  sqlldr userid=scott/tiger control=load1.ctl data=data1.txt direct=y parallel=true & sqlldr userid=scott/tiger control=load2.ctl data=data2.txt direct=y parallel=true & sqlldr userid=scott/tiger control=load3.ctl data=data3.txt direct=y parallel=true &)

oracle中sqlldr工具使用时注意事项的更多相关文章

  1. Eclipse和Android Studio中的DDMS使用时什么不同?

    http://www.jb51.net/softjc/454131.html Eclipse和Android Studio中的DDMS使用时什么不同? 相信很多经常开发Android应用的朋友应该都接 ...

  2. MySQL数据库使用时注意事项

    MySQL数据库使用时注意事项 建表的角度上 1.合理安排表关系 2.尽量把固定长度的字段放在前面 3.尽量使用char 代替varchar 4.分表:水平分和垂直分 在使用sql语句的时候 1.尽量 ...

  3. Oracle中创建触发器示例及注意事项

    1.oracle 中创建触发器示例 CREATE TABLE "CONCEPT"."FREQUENCYMODIFYLOG" ( "FREQUENCYI ...

  4. angular js 上传插件 ng-file-upload 使用时注意事项

    项目框架为angular js,需要用到文件上传,百度之后先选择了angular-file-upload,githuab上API文档很全,想要具体了解,可以仔细研究一下.在这里简单回顾一下自己使用的插 ...

  5. Oracle数据库sqlldr工具的使用

    sqlldr导入文本内容到数据库表时,需要指定一个ctl文件(控制文件),通过该文件来完成数据的导入. 1 首先创建一个表student create table student( stu_id nu ...

  6. soapui工具使用时400 Bad Request

    因为项目中用json格式进行传输数据,多次确认json中的各个属性与接口中的对象属性一致,还是不能正常访问到接口.想起json数据中有中文, 在soapui的左下角将Encoding 的值设为utf- ...

  7. grid++报表使用时注意事项

    #开始使用:Grid++Report 可以在 Visual C#.Net 与 Visual Basic.Net 下的 WinForm 项目中使用.在项目中使用 Grid++Report 之前,首先必须 ...

  8. Spring @Conditional简单使用 以及 使用时注意事项一点

    @Conditional注解在类的方法中 @Conditional注解失效的一种原因 @Conditional注解在类上 手写的低配版@ConditionalOnClass Spring  @Cond ...

  9. UITableViewCell使用时注意事项

    1,注意使用重用机制(有利于提高效率) 2,做到通过改变模型去间接改变UI样式(做到永久改变,无论怎样拖动刷新,都不会恢复改变) 3,在通过传递模型给Cell控件布局时,记得完全覆盖(嗯,不好解释,主 ...

随机推荐

  1. UVALive(LA) 3644 X-Plosives (并查集)

    题意: 有一些简单化合物,每个化合物都由两种元素组成的,你是一个装箱工人.从实验员那里按照顺序把一些简单化合物装到车上,但这里存在安全隐患:如果车上存在K个简单化合物,正好包含K种元素,那么他们就会组 ...

  2. PyCharm配置gitHub远程仓储

    在一个团队里,编码不能是闭门造车,git学起来: 1. GIT的基本介绍.安装及使用教程- @廖雪峰 2. pycharm配置github远程仓储- @谢小小XH

  3. spoj 375 Query on a tree (树链剖分)

    Query on a tree You are given a tree (an acyclic undirected connected graph) with N nodes, and edges ...

  4. POJ1655 Balancing Act(树的重心)

    树的重心即树上某结点,删除该结点后形成的森林中包含结点最多的树的结点数最少. 一个DFS就OK了.. #include<cstdio> #include<cstring> #i ...

  5. 【数学】【HAOI2008】【BZOJ1045糖果传递】【BZOJ3293分金币】论数学的重要性

    BZOJ1045和BZOJ3293一模一样两道题,在这里我用1045来讲. 1045: [HAOI2008] 糖果传递 Time Limit: 10 Sec  Memory Limit: 162 MB ...

  6. 各种计算机编码与base64

    什么是base64,base64与Hex编码,ASCII编码,UTF-8编码都是什么关系 1 计算机开始之初,二进制 计算机所用的语言是什么呢?这个语言非常简单,只有0和1两种表示.0代表否,1代表是 ...

  7. 如何隐藏 Safari 中 input 标签的 autofill 图标

    Safari 浏览器会为 <input type="passport"> 标签自动添加一个小锁的图标(如下图),本意上是让用户可以从这里选择相应的 用户名/密码 进行自 ...

  8. ArcMAP中如何将16位保存的卫星底图,转变为8位表示

    首先说明,这种转换将会去除影像的投影像素的定义,并在转换后变为黑色的部分.16位的存储,一方面也是定义透明非数据像素点表示的方便.但是这种定义直接加大了影像的大小,不便于与CAD等软件进行交换数据.

  9. solrCloud分布式检索流程

    FROM: http://blog.csdn.net/duck_genuine/article/details/17014991 好久没写solr的文章了,刚好需要在公司作个分享,先总结一些先. 引用 ...

  10. 使用BAT编译,链接,执行汇编代码

    大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编. 连接,然后再执行,而这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得).如何使这个过程变的简单呢?在我们搞汇编课程设 ...