SQLOAD进行数据导入

2 篇文章 0 订阅
1 篇文章 1 订阅
  1. 使用原因

    1. 在使用文本进行大数据量导入的时候,很容易导致内存溢出的问题。
    2. sqlload作为oracle官方提供的大数据量的导入放大,在效率上具有很大的优势
    3. sqlload存在的不足
      1. 只支持文本类型(.txt,.csv)的导入,不支持excel等的文件的导入
      2. 对于服务器环境的要求较高(需要至少安装oracle的client)
  2. 准备文件

    1. 使用sqlldr导入需要准备两个文件一个是控制导入的ctl文件和存储数据的文本文件
  3. 导入语句

    1. sqlldr user/password control=test.ctl skip=1 load=200000 errors=100 rows=1000  bindsize=33554432
    2. 参数解析
      1. userid:后边跟的是数据库的名称以及密码
      2. control: 后边跟的是ctl文件的路径
      3. log:表示输出的日志
      4. rows:表示一次加载的行数,默认值为64,此处设置为xxx
      5. load:表示并不导入所有的数据,只导入跳过skip参数后的xxxx条数据
      6. errors:表示出错xxx次后,停止加载
      7. bindsize:表示每次提交记录缓冲区的大小,默认256k
  4. 控制文件(.ctl)

    1. ctl的基本格式
    2. 参数介绍
      1. skip:从第几行开始导入
      2. rows:表示导入几行进行一次事务的提交,默认为64行
      3. infile:要导入的数据文件的位置(如果多个文件使用同一个ctl,可以写多个infile)
      4. append into table testTable:默认是INSERT
        1. APPEND              原先的表有数据 就加在后面
        2. INSERT               装载空表 如果原先的表有数据 sqlloader会停止 默认值
        3. REPLACE             原先的表有数据 原先的数据会全部删除
        4. TRUNCATE            指定的内容和replace的相同 会用truncate语句删除现存数据
           
      5. CHARACTERSET :表示导入的数据的编码的格式,默认为utf8  
      6. fields terminated by ',':字段之间的分隔值为逗号
      7. terminated by whitespace :以空格为分割符
      8. optionally enclosed by :字段放在什么中间
      9. trailing nullcols:表示空值也可以导入

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值