SQLLDR简介 和 Oracle插入大量数据

SQLLDR是Oracle提供的数据加载工具,用于将操作系统文件批量导入数据库。它支持直接路径和并行加载,提供高效的数据迁移。文章介绍了SQLLDR的基本语法、参数设置,并通过一个案例展示了如何导入20万条数据到数据库表中,以及如何处理加载过程中的错误和日志文件。
摘要由CSDN通过智能技术生成

SQLLDR简介

一、简介

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

二、参数

2.1 语法

用法: SQLLDR keyword=value [,keyword=value,…]

2.2 参数

Keyword默认值描述
useridORACLE 用户名/口令
control控制文件名
log日志文件名
bad错误文件名
data数据文件名
discard废弃文件名
discardmax全部允许废弃的文件的数目
skip0要跳过的逻辑记录的数目
load全部要加载的逻辑记录的数目
errors50允许的错误的数目
rows常规路径 64, 所有直接路径常规路径绑定数组中或直接路径保存数据间的行数
bindsize256000常规路径绑定数组的大小 (以字节计)
silent运行过程中隐藏消息 (标题,反馈,错误,废弃,分区)
directFALSE使用直接路径
parfileFALSE执行并行加载
file要从以下对象中分配区的文件
skip_unusable_indexesFALSE不允许/允许使用无用的索引或索引分区
skip_index_maintenanceFALSE没有维护索引, 将受到影响的索引标记为无用
commit_discontinuedFALSE提交加载中断时已加载的行
readsize1048576读取缓冲区的大小
external_tableNOT_USED使用外部表进行加载; NOT_USED, GENERATE_ONLY, EXECUTE
columnarrayrows5000直接路径列数组的行数
streamsize256000直接路径流缓冲区的大小 (以字节计)
multithreading在直接路径中使用多线程
resumableFALSE启用或禁用当前的可恢复会话
resumable_name有助于标识可恢复语句的文本字符串
resumable_timeout7200RESUMABLE 的等待时间 (以秒计)
date_cache1000日期转换高速缓存的大小 (以条目计)
no_index_errorsFALSE出现任何索引错误时中止加载

三、案例

以Oracle为例,导入20万条数据

3.1 在数据库中创建测试表

CREATE TABLE TEST001 (
"ID" NUMBER generated always as identity,
"NAME" VARCHAR2(255) NULL ,
"AGE" NUMBER NULL 
)
NOCOMPRESS
;

3.2 数据格式(.txt)

格式如下:

小明,10
小红,12
小蓝,16
小绿,18

3.3 编写自动入库脚本.ctl

--编写 insert.ctl 文件
load data
characterset utf8 -- 表的储存格式
INFILE 'D:/sql/txbh.txt' -- 数据文本路径
Append into table TEST001 -- 表名
fields terminated by "," -- 以,分割字段
(
    NAME,AGE -- 插入的字段
)
  • 开始时的文件

3.4开始执行脚本

  • 执行脚本语句
    sqlldr 用户名/密码@数据库实例名/SID control=脚本名
    如下信息参考:

  • 注意cmd的路径

  • 开始插入

  • 插入完成20w

数据库表中确实插入20w条

插入结束后的文件

多了一个日志文件
查看日志文件

20w条数据只用了1:31.79是不是很快!!!

3.5 遇到报错

上面执行有问题会出现一个bat文件
里面时有问题的数据

  • 可以根据log日志对数据进行修改
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值