使用sqlldr向Oracle导入大的文本(txt)文件
我们有多种方法可以向Oracle数据库里导入文本文件,但如果导入的文本文件过大,例如5G,10G的文本文件,有些方法就不尽如意了,例如PLSQL Developer中的导入文本功能,如果文本文件过大,不仅导入速度太慢,中间还容易出错。这时Sqlldr就能大显身手了,Sqlldr可以每秒向Oracle插入5W条数据,可以自定义控制文件,进行导入控制,而且导入过程不易出错,下面简易记录导入过程。
1.Sqlldr导入控制文件说明
load data
infile '/home/oracle/42.txt' //文本文件的绝对位置
append into table doupoidx //要导入的表名称
fields terminated by ',' //分隔符定义,这里是逗号
OPTIONALLY ENCLOSED BY '"' //过滤"号
TRAILING NULLCOLS //对应字段的顺序。
(
time TimeStamp 'yyyy-mm-dd hh24:mi:ss',
price,
volume,
interest
)
2.在Oracle用户下执行导入命令
sqlldr userid=scott/oracle@orcl control =/home/oracle/input.ctl
//用户名/密码@实例名 control=控制文件的位置
关于 optionally enclosed by 的小测试
左边没引号右边有引号:成功,原样导入
111"
222""
333"""
左边有引号右边没引号:失败, second enclosure string not present
"44
""555
"""666
左右有相等的奇数个引号,成功,引号数=2n+1时导入数据带有n个引号
"777"
"""888"""
左右有相等的偶数个引号,失败, no terminator found after TERMINATED and ENCLOSED field
""999""
""""AAA""""
一边奇数一边偶数:失败, 错误信息为上述两种
"BBB""
""CCC"
"""DDD""
""EEE"""
两边不等的偶数:失败, no terminator found after TERMINATED and ENCLOSED field
""FFF""""
""""GGG""
两边不等的奇数:成功,引号数=2n+1时导入数据带有n个引号
"HHH"""
"""III"
总结:要么左边不能带引号;如果有引号左右都必须为奇数个
使用sqlldr向Oracle导入大的文本(txt)文件的更多相关文章
- oracle导入大sql文件
最近遇到一个需要导入大SQL文件的问题,最先直接用SQL developer 导入大SQL文件,结果报IO Exception,只好采用sqlplus 导入,操作过程如下: sqlplus 用户名/密 ...
- Oracle 导入、导出DMP(备份)文件
首先说明dmp文件: Oracle备份文件是以dmp结尾,这种文件是oracle的逻辑备份文件,常用于数据库逻辑备份,数据库迁移等操作. 一.Oracle导入备份文件步骤:我用的是Oracle 11g ...
- MYSQL数据库导入大数据量sql文件失败的解决方案
1.在讨论这个问题之前首先介绍一下什么是"大数据量sql文件". 导出sql文件.选择数据库-----右击选择"转储SQL文件"-----选择"结构和 ...
- 【应用】:shell crontab定时生成oracle表的数据到txt文件,并上传到ftp
一.本人环境描述 1.oracle服务端装在win7 32位上,oracle版本为10.2.0.1.0 2.Linux为centos6.5 32位,安装在Oracle VM Vir ...
- Oracle导入大数据量(百万以上)dmp文件,报错ora-12592 :包错误
进行自动化测试过程中,发现需要重新搭建一套自动化测试库,然后利用pl/sql对数据库导出: 进行导入后发现报错ora-12592 :包错误 原因分析,数据量过大,传输超时,需要在Oracle服务端以及 ...
- oracle导入Excel表文本数据
首先导Excel表数据要先建和Excel表字段对应的表,然后将Excel表另存为Txt文本, 然后在Plsql客户端点击工具->文本导入器 然后这里要选择用户及其表,点击导入数据就可以
- Oracle导入导出.sql、.dmp文件
Oracle导出导入表(.sql..dmp文件)两种方法 提示:在导入sql和dmp文件之前,先建立用户,指明表空间.其中要注意用户名和表空间最好跟sql文件中的一样. 建表空间授权参考 :http: ...
- Oracle导入、导出数据库dmp文件
版本 1.实例数据完全导出 即导出指定实例下的所有数据 exp username/password@192.168.234.73/orcl file=d:/daochu/test.dmp full=y ...
- Oracle导入建表的sql文件类型
随机推荐
- 新建WindowsPhone项目时提示未将对象引用设置到对象的实例
问题: 安装好新系统之后(只有Windows8 专业版和企业版支持hyper-v),然后安装vs2012,再安装Wp8 Sdk,安装完毕后新建Windows Phone项目,会提示未将对象引用设置到对 ...
- 兼容的网页宽度margin padding
hack兼容: -moz- /* Firefox 4 */ -webkit- /* Safari 和 Chrome */ -o- /* Opera */ IE6承认*和_和+,不承认!import ...
- ViewGroup可实现上下、各地跑马灯效果滚动
先上效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFuZ25lbmd3dQ==/font/5a6L5L2T/fontsize/400/fill ...
- latex如何输入正确的 双引号
latex当输入双引号,假设直接用双引号键在键盘上.玩过顺-handed. 引述左输入法是正确的:按两次"Tab在之上,数字1左边的键".至于后面行情,该方法是一样的老,这是两次单 ...
- ios学习网络------4 UIWebView以三种方式中的本地数据
UIWebView这是IOS内置的浏览器.能够浏览网页,打开文档 html/htm pdf docx txt等待格文档类型. safari浏览器是通过UIWebView制作. server将 ...
- Suse发生了错误Access denied for user ''@'localhost' to&
好久没实用MySQL了,上次由于装了Banq的论坛系统.在用MySQL Administrator进去的时候居然提示mysql error number 1045 access denied for ...
- zoj-3792-Romantic Value-最小割+数值转化
假设不须要求边的个数的话,就是一个裸的最小割问题. 求边的个数就用边的权值记录一下. #include <stdio.h> #include <iostream> #inclu ...
- 使用 CodeIgniter 创建一个简单的 Web 站点
原文:使用 CodeIgniter 创建一个简单的 Web 站点 参考源自: http://www.ibm.com/developerworks/cn/web/wa-codeigniter/index ...
- 十天学Linux内核之第七天---电源开和关时都发生了什么
原文:十天学Linux内核之第七天---电源开和关时都发生了什么 说实话感觉自己快写不下去了,其一是有些勉强跟不上来,其二是感觉自己越写越差,刚开始可能是新鲜感以及很多读者的鼓励,现在就是想快点完成自 ...
- Javascript学习5 - 函数
原文:Javascript学习5 - 函数 在Javascript中,函数和对象是交织在一起的.有些函数的特性与对象相关联.这一点的内容在第六部分会讨论到. 这一部分主要讨论函数与其它比较熟悉的语言( ...