sqlldr的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlldr的用法相关的知识,希望对你有一定的参考价值。

oracle数据库中导入txt文本方法,如现在需要将t_user_mobile_list.txt中的数据导入到oracle数据库t_user_mobile_list表中。

 

 

 

1. 首先需要ctl文件

 

ctl文件格式如下:

load data            

infile *

Append into table t_user_mobile_list ---插入的表名称

FIELDS TERMINATED BY ‘,‘---文件以,分割

TRAILING NULLCOLS    --表的字段没有对应的值时允许为空

( subid,

smbms,

productcat,

sub_type,

create_time date "YYYY-MM-DD HH24:MI:SS", ----data类型字段需要制定格式

part,

submit_flag,  

name )

 

如果对应的字段为空,则可以不在对应列中出现!

 

2. 执行Sqlldr命令

sqlldr userid="smb/[email protected]"-----指定数据库

 control="t_user_mobile_list.ctl"----第一步生产的ctl文件

 data="t_user_mobile_list.txt"  -----需要导入的txt文件

 log=t_user_mobile-list.log -------将信息写到日志中

 

 

注意:

1. 执行该命令时,要将导入的文件和crl文件在同一个目录下

2. Sqlldr一次只能导入500w行,如果导入文件超过500w行,先将该文件分割成多个文件再执行。分割命令:split  文件名 -l 3000000  fee(前缀)--将该文件按300w行分成N个文件

 

Shell脚本执行

技术分享

 

Ctl文件

技术分享

 

 

文件


技术分享

以上是关于sqlldr的用法的主要内容,如果未能解决你的问题,请参考以下文章

我的sqlldr怎么老是报错呢??大神们求解???

用sqlldr加载数据出现问题,原始数据有5G,请大家帮忙解决,谢谢!

oracle 客户端没有sqlldr 怎么添加

批量生成sqlldr文件,高速卸载数据

SQL Loader将文本数据压入数据库

oracle nologging 有啥用