oracle大批量数据加载之sqlldr使用方法
2016-09-02 09:04
323 查看
load数据有以下几种方式:
1.insert语句执行,但是效率太低,对于百万千万条数据的加载,insert完全行不通;
2.使用工具plsql 中import,大约50万条每小时,但是效率太低;
3.使用sqlldr,大约350万每小时,比较客观,支持一般常见load数据;
sqlldr使用方法:
1.你要新建.ctl控制文件来执行相对应的txt文本;
2..ctl文件编写格式如下:
LOAD DATA
CHARACTERSET ZHS16GBK
INFILE '/home/oracle/JKSJ/20160830/tabl_name.txt'
TRUNCATE TABLE tabl_name
APPEND INTO TABLE tabl_name
FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(
SUBCODE CHAR NULLIF (SUBCODE=BLANKS)
, SUBCTRLCODE CHAR NULLIF (SUBCTRLCODE=BLANKS)
, SUBNAME CHAR NULLIF (SUBNAME=BLANKS)
, SUBLEVEL INTEGER EXTERNAL NULLIF (SUBLEVEL=BLANKS)
, UPCTRLCODE CHAR NULLIF (UPCTRLCODE=BLANKS)
, SUBKIND CHAR NULLIF (SUBKIND=BLANKS)
)
sqlldr userid=dbuser/pasword@10.9.249.5:1521/db control=C:\tabl_name.ctl log=c:\tabl_name.log
解释:sqlldr 用户名/密码@真实的ip:端口号/实例名 control=控制文件地址 log=日志(失败时才有日志)
注意的是:出现比较多的问题是字段长度不够长,出现错误可以再log中查找错误信息;
1.insert语句执行,但是效率太低,对于百万千万条数据的加载,insert完全行不通;
2.使用工具plsql 中import,大约50万条每小时,但是效率太低;
3.使用sqlldr,大约350万每小时,比较客观,支持一般常见load数据;
sqlldr使用方法:
1.你要新建.ctl控制文件来执行相对应的txt文本;
2..ctl文件编写格式如下:
LOAD DATA
CHARACTERSET ZHS16GBK
INFILE '/home/oracle/JKSJ/20160830/tabl_name.txt'
TRUNCATE TABLE tabl_name
APPEND INTO TABLE tabl_name
FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(
SUBCODE CHAR NULLIF (SUBCODE=BLANKS)
, SUBCTRLCODE CHAR NULLIF (SUBCTRLCODE=BLANKS)
, SUBNAME CHAR NULLIF (SUBNAME=BLANKS)
, SUBLEVEL INTEGER EXTERNAL NULLIF (SUBLEVEL=BLANKS)
, UPCTRLCODE CHAR NULLIF (UPCTRLCODE=BLANKS)
, SUBKIND CHAR NULLIF (SUBKIND=BLANKS)
)
sqlldr userid=dbuser/pasword@10.9.249.5:1521/db control=C:\tabl_name.ctl log=c:\tabl_name.log
解释:sqlldr 用户名/密码@真实的ip:端口号/实例名 control=控制文件地址 log=日志(失败时才有日志)
注意的是:出现比较多的问题是字段长度不够长,出现错误可以再log中查找错误信息;
相关文章推荐
- oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量将文本文件数据加载到数据表))
- [oracle]管理--sqlldr 数据加载的使用
- ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)
- 使用getJSON()方法异步加载JSON格式数据
- 【jQuery】使用getJSON()方法异步加载JSON格式数据
- 【转】bootstrap模态框(modal)使用remote方法加载数据,只能加载一次的解决办法
- Oracle sqlldr导入数据使用默认值和提高性能的方法
- 【解决方法】iOS9 HTTP 不能正常使用的解决办法(数据无法加载)
- java 从属性文件加载数据的方法工具类 实例 可直接使用
- 使用ajax()方法加载服务器数据
- 使用oracle sqlldr加载数据
- Ext.data.JsonStore使用HttpProxy加载数据时传递参数的两种方法
- oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量导入数据))
- [oracle]管理--sqlldr 数据加载的使用
- 24.使用getJSON()方法异步加载JSON格式数据
- 加载大量的xml数据 使用压缩方法解决(当然较小时也可以压缩)
- ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)
- 使用AsyncTask方法动态加载数据
- bootstrap模态框(modal)使用remote方法加载数据,只能加载一次的解决办法
- ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)