Oracle SQL Loader(sqlldr)

Oracle SQL Loader(sqlldr)

 

SQL*LOADERORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECTPARALLEL)。

 

使用方法:

 

加载txt文件

 

1 创建数据文件

[oracle@ogg1 ~]$ vim cc.txt

1,2,3

4,5,6

7,8,9

 

2 创建控制文件

[oracle@ogg1 ~]$ touch ccc.ctl

[oracle@ogg1 ~]$ vim ccc.ctl

load data

infile '/home/oracle/cc.txt'

append

into table c_chen

fields terminated by ','

(col1,col2,col3)

~

 

3 创建表

SQL> create table c_chen(col1 number,col2 number,col3 number);

Table created.

 

SQL> select * from c_chen;

no rows selected

 

4 执行加载

[oracle@ogg1 ~]$ sqlldr chen/chen control=ccc.ctl

 

SQL*Loader: Release 11.2.0.3.0 - Production on Thu Jul 30 17:27:08 2015

 

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

 

Commit point reached - logical record count 3

 

5 查看加载数据

[oracle@ogg1 ~]$ sqlplus chen/chen

 

SQL> select * from c_chen;

 

      COL1       COL2       COL3

---------- ---------- ----------

         1          2          3

         4          5          6

         7          8          9

 

6 查看加载日志

[oracle@ogg1 ~]$ vim ccc.log

SQL*Loader: Release 11.2.0.3.0 - Production on Thu Jul 30 17:27:08 2015

 

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

 

Control File:   ccc.ctl

Data File:      /home/oracle/cc.txt

  Bad File:     cc.bad

  Discard File:  none specified

 

 (Allow all discards)

 

Number to load: ALL

Number to skip: 0

Errors allowed: 50

Bind array:     64 rows, maximum of 256000 bytes

Continuation:    none specified

Path used:      Conventional

 

Table C_CHEN, loaded from every logical record.

Insert option in effect for this table: APPEND

 

   Column Name                  Position   Len  Term Encl Datatype

------------------------------ ---------- ----- ---- ---- ---------------------

COL1                                FIRST     *   ,       CHARACTER

COL2                                 NEXT     *   ,       CHARACTER

COL3                                 NEXT     *   ,       CHARACTER

 

 

Table C_CHEN:

  3 Rows successfully loaded.

  0 Rows not loaded due to data errors.

  0 Rows not loaded because all WHEN clauses were failed.

  0 Rows not loaded because all fields were null.

 

 

Space allocated for bind array:                  49536 bytes(64 rows)

Read   buffer bytes: 1048576

 

Total logical records skipped:          0

Total logical records read:             3

Total logical records rejected:         0

Total logical records discarded:        0

 

Run began on Thu Jul 30 17:27:08 2015

Run ended on Thu Jul 30 17:27:08 2015

 

Elapsed time was:     00:00:00.24

CPU time was:         00:00:00.00

 

 

 

加载CSV文件

 

1 导入CSV文件

/*CSV文件默认由","分割*/

Cat testaa.csv'

"1","8880191000006238888","187.50","000105411337400"

"2","8880191004003037777","5000.00","000041122657300"

"3","8880191000006237777","54.10","000181100541100"

。。。。。。

"200000","8880191000005735555","500.00",""

 

2 控制文件

[oracle@ogg1 ~]$ vim bbb.ctl

load data

infile '/home/oracle/testaa.csv'

append into table ppan

fields terminated by "," optionally enclosed by'"'

(id,pan,txn_amt,mid)

 

3 创建表

SQL> create table ppan(id number,pana varchar2(19),txn_amta number(12,2),mida varchar2(15));

 

4 加载数据

[oracle@ogg1 ~]$ sqlldr chen/chen control=bbb.ctl

 

5 查看数据

SQL> select * from ppan where rownum<=5;

 

        ID PANa                    TXN_AMTa MIDa

---------- ------------------- ---------- ---------------

         1 8880191000006236666      187.5 666418110444374

         2 8880191004003038888       5000 111104157666573

         3 8880191000006232222       54.1 444418054444374

         4 8880191000002611111       6.99 666777531555072

         5 8880191004002573333       1000 555104157226588

 

SQL> select count(*) from ppan;

 

  COUNT(*)

----------

    200000

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29785807/viewspace-1757667/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29785807/viewspace-1757667/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值