一:SQL*Loader
将外部数据(比如文本型)导入Oracle 数据库中。(可用于不同类型数据库数据迁移)本质是在段(segment 表)重新insert 记录。
二:SQL*Loader理念及特点
1)能装入不同数据类型文件及多个数据文件的数据
2)可装入固定格式,自由定界以及可度长格式的数据
3)可以装入二进制,压缩十进制数据
4)一次可对多个表装入数据
5)连接多个物理记录装到一个记录中
6)对一单记录分解再装入到表中
7)可以用 数对制定列生成唯一的KEY
8)可对磁盘或 磁带数据文件装入制表中
9)适用于因高额预算无法上云或项目业务不太繁琐的场景
10)可以将文件中的整型字符串,自动转成压缩十进制并装入列表中
11)传输数据快速,百万级别数据仅需几分钟
三:SQL*Loader控制文件
控制文件是用一种语言写的文本文件,这个文本文件能被SQL*LOADER识别。
SQL*LOADER根据控制文件可以找到需要加载的数据。
并且分析和解释这些数据。
控制文件由三个部分组成:
全局选件,行,跳过的记录数等;
INFILE子句指定的输入数据;
四:输入文件
对于 SQL*Loader, 除控制文件外就是输入数据。SQL*Loader可从一个或多个指定的文件中读出数据。如果 数据是在控制文件中指定,就要在控制文件中写成 INFILE * 格式。当数据固定的格式(长度一样)时且是在文件中得到时,要用INFILE "fix n"
load data
infile 'example.dat' "fix 11"
into table example
fields terminated by ',' optionally enclosed by '"'
(col1 char(5),
col2 char(7))
example.dat:
001, cd, 0002,fghi,
00003,lmn,
1, "pqrs",
0005,uvwx,
当数据是可变格式(长度不一样)时且是在文件中得到时,要用INFILE "var n"。如:
load data
infile 'example.dat' "var 3"
into table example
fields terminated by ',' optionally enclosed by '"'
(col1 char(5),
col2 char(7))
example.dat:
009hello,cd,010world,im,
012my,name is,
====下章更新SQL*Loader,win10下操作细分流程
文章为本人所创,如需转载,可附上连接