1. 背景

    900W数据的TXT文本,文件内容各字段以"|"分隔,使用nevicat导入太慢

  2. 解决办法

    使用sqlldr导入数据,

    1)建立配置文件test.ctl

    [oracle@slave1 ~]$ cat test.ctl
    load data
    infile 'data.txt'
    into table CMCC
    fields terminated by "|"
    (id,phone,service_id,time,cmcc_num,cmcc_s)

    解释:data.txt 要导入的数据文件
    CMCC 要导入的表空间
    fields terminated by "|" 以"|"分隔
    (id,phone,service_id,time,cmcc_num,cmcc_s) 要导入表空间的字段

  3. 2)使用sqlldr导入: sqlldr userid=smsanalysis/smsanalysis control=test.ctl  log=log
  4. 后记

    遇到的问题:

    1)表空间名称为小写,test.ctl为小写,提示表空间不存在,改为大写
    2)字段名称为小写,提示字段名不存在,改为大写
    3)表中时间字段设为vachar