sqlldr

sqlldr 是oracle的sql*loader工具,他可以把外部的文本格式数据导入到oracle 的内部表中,适用于不同数据库之间的数据转化迁移。缺点速度慢,clob和blob等数据类型支持性低。(mysql有自己的load 工具)

直接输入sqlldr可以看到帮助,这里不详细介绍了

举例:

导入insall.log文件


查看文件行数
[oracle@oracle ~]$ cat install.log |wc -l
1098    


文件格式
[oracle@oracle ~]$ cat install.log |tail -1
Installing words-3.0-17.el6.noarch


编写control file

[oracle@oracle ~]$ cat install.ctl
load data
infile '/home/oracle/install.log'        ----绝对路径,也可以写相对路径
insert into table install                     -----insert 表示插入,要求表为空  append表示追加  replace删除旧记录,替换新记录   truncate 通replace
(time char terminated by ' ',            ------以空格分隔
install char terminated by whitespace)   -----空白结尾


执行命令

sqlldr userid=ogg/oracle control=/home/oracle/install.ctl  log=load.log




[oracle@oracle ~]$ sqlldr userid=ogg/oracle control=install.ctl log=load.log


SQL*Loader: Release 11.2.0.3.0 - Production on Wed Apr 20 14:48:04 2016


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


SQL*Loader-941: Error during describe of table INSTALL
ORA-04043: object INSTALL does not exist                     提示表不存在,登录数据创建表


[oracle@oracle ~]$ sqlldr userid=ogg/oracle control=install.ctl log=load.log


SQL*Loader: Release 11.2.0.3.0 - Production on Wed Apr 20 14:48:54 2016


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


Commit point reached - logical record count 64
Commit point reached - logical record count 128
Commit point reached - logical record count 192
Commit point reached - logical record count 256
Commit point reached - logical record count 320
Commit point reached - logical record count 384
Commit point reached - logical record count 448
Commit point reached - logical record count 512
Commit point reached - logical record count 576
Commit point reached - logical record count 640
Commit point reached - logical record count 704
Commit point reached - logical record count 768
Commit point reached - logical record count 832
Commit point reached - logical record count 896
Commit point reached - logical record count 960
Commit point reached - logical record count 1024
Commit point reached - logical record count 1088
Commit point reached - logical record count 1098      再次执行,插入了1098条数据和一开始吻合





你可能感兴趣的:(sqlldr)