Oracle使用sqlldr加载数据

最新正好遇到往Oracle数据库表中导入大批量数据的问题,于是了解到Oracle自带sqlldr工具,支持快速地向Oracle数据库中导入大批量数据。

概括地说,使用sqlldr往Oracle表中导入文本文件需要经历以下几个步骤,

1 创建目标表

drop table perf_tbl1;
create table perf_tbl1(
c1 number not null,
c2 varchar(10),
c3 varchar(30),
c4 varchar(18),
c5 varchar(10),
c6 number(17,2),
c7 int,
c8 varchar(30),
c9 varchar(30),
c10 varchar(10),
c11 varchar(20),
primary key (c1)
);

2 编辑控制文件

//load_5.ctl
load data
CHARACTERSET UTF8
infile "/opt/a.text"
append
into table PERF_TBL1
fields terminated by '|'
trailing nullcols
(
c1,
c2,
c3,
c4,
c5,
c6,
c7,
c8,
c9,
c10,
c11
)

3 执行sqlldr命令加载数据

cd /u01/app/oracle/product/11.2.0.4/db_1/bin/
nohup sqlldr sunecm/sunecm control=/opt/load_5.ctl log=log.log bad=bad.log errors=5000 rows=1000 bindsize=10485760 > 1.log &

4 确认结果数据

select * from PERF_TBL1 where a.c1 < 10;
select count(*) from PERF_TBL1;

猜你喜欢

转载自blog.csdn.net/post_yuan/article/details/79711413