说着是导入CSV,其实格式不定,文本也可以,只是导入数据几十个G的时候大多数都是用CSV来存的,所以就把名字写成了导入CSV。
这里说的是导入数据,之前我也写过导入库、表、schema等方式,对于外来的纯数据,没有怎么纪录过,所以这篇文章主要是针对数据的导入。
方式用Oracle自带的SQL loader。命令式sqlldr,这个工具是安装完Oracle就有的,不需要额外下载。效率有多快呢?我4个varchar的字段每秒差不多写入20万条吧。
注意,这种超快的导入方式是在服务器上执行的,所以需要相关权限,一般拿不到权限的就用PLsql吧,虽然相对SQL loader慢,不过对于小批量数据还是可以的
本次我导入的数据大小为25G.
环境:centos7
工具:SQL Loader
相关原理:官网文档
操作方法:1、需要定义好一个Oracle执行的脚本, .ctl结尾的文件
2、需要sqlldr 命令启动导入程序,程序会找到之前写的脚本按照脚本信息去处理
我的具体步骤:
1、把数据文件上传到服务器指定文件夹
2、写好导入配置脚本
3、启动命令
脚本格式:
OPTIONS (skip=1,rows=128) -- sqlldr 命令显示的选项可以写到这里边来,skip=1 用来跳过数据中的第一行,可以不写
LOAD DATA
INFILE "users_data.csv" --指定