Oracle批量导入文本文件快速的方法(sqlldr实现)_oracle

前言

最近做项目的时候需要导入一批3000多万条的POI数据到Oracle数据库,简单的插入导入速度太慢,使用sqlldr 批量导入3000多万条数据花了20分钟左右,速度还可以,现在分享给大家,具体方法如下:

1.新建导入控制文件 input.ctl,文件内容如下:

Load data
Characterset UTF8
Infile 'H:\POI\baidu.txt'
Append into table tbl_poi_baidu
fields terminated by ","
Optionally enclosed by '""'
Trailing nullcols
(POI_NAME,CLASS_ALL,ADDR,PHONE,TEL,LONGITUDE,LATITUDE,CITY,CITYCODE,PROVINCE,DISTRICT,STREET,STREENUMBER,CLASS_1,CLASS_2,CLASS_3,CLASS_4)

2.命令行窗口输入:

sqlldr userid=sde/sde control=input.ctl log=log.out discard=discard.txt errors=1000000 

注意:文件字符集要与Oracle服务等字符集一致,建议文件另存为UTF-8无BOM,导入文件内添加 Characterset UTF8 ,解决Oracle数据导入中文乱码:export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'

DOS环境下文件快速合并: copy *.csv newfile.txt

总结

以上就是这篇文章的全部内容,希望能对大家学习或者使用Oracle数据库有所帮助,如有有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索oracle
, 批量导入
, sqlldr
, 批量导入文本
sqlldr导入txt
sqlldr 批量导入、oracle sqlldr导入、oracle批量导入数据、oracle导入大批量数据、oracle 批量导入,以便于您获取更多的相关知识。

时间: 2024-10-09 19:33:58

Oracle批量导入文本文件快速的方法(sqlldr实现)_oracle的相关文章

java web-关于oracle批量导入的问题

问题描述 关于oracle批量导入的问题 批量导入 ,我知道用for循环 循环插入,那是一条一条的插入数据库,效率比较低下. 但提高的话,如果说 没有框架的,该用什么方法来改变插入的方法 . 求大神详解下如何提高插入的效率问题 解决方案 http://blog.sina.com.cn/s/blog_69c11dee0101h9ye.html 解决方案二: 用batch.............

Oracle数据导入导出10g数据方法

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用. 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,  DOS中可以执行时由于 在oracle 8i 中  安装目录ora81BIN被设置为全局路径,  该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出

oracle数据库导入导出命令使用方法_oracle

最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,有什么不对或者不足的地方,欢迎广大博友拍砖,哈哈~导出命令:1)单表导出:exp 用户名/密码@服务器别名 tables=表名 file=d:\名称.dmp 复制代码 代码如下: exp jm110/jm110@120_2 tables=ajb file=d:\ajb.dmp 多张表: 复制代码 代码如下: exp jm110/jm110@120_2 tables=(ajb,jjdwb) file=d:\ajb2

Oracle中导入文本数据的方法

oracle|数据 Dos 环境下使用SQl*Loader命令 加载 使用其它数据库的数据转移工具 Oracle 企业管理器中的数据加载功能 具体的技术实现 一.Dos 环境下加载 1.首先,服务器端的侦听服务必须已经开启. 测试方法:Dos 下输入 C:\>sqlplus username/password@serviceName 2.然后使用 Oracle 的 sqlldr 命令进行数据的导入 前期条件 1) Oracle 数据库端必须已经建好了需要导入的数据表的结构 2) 一个数据源文件

在Oracle中导入dmp文件的方法_oracle

项目开始拿到了dmp文件,数据库用的是10g的,但是尽然没导成功,后来想可能导出的时候用11导出的,决定试一下. 正好自己的机器是11的客户端,结果不识别imp命令,到安装目录下的bin文件夹下看尽然没有imp执行文件.可能装客户端的时候没选管理者装. 怎么办呢,从别的11的bin目录下的imp文件拷贝了一个放到了自己的bin下.执行还是出错,No message file for product = RDBMS,-- 类似这样的message,网上查了一下说拷一个[RDBMS\mesg]的内容

oracle的导入导出注意事项及心得分享_oracle

导入导出oracle方案是备份和恢复的主旋律,不是dba,对于数据的导入导出没有太多的研究,仅有一点点在使用过程中的体会,在此简单说明. 导入 复制代码 代码如下: imp xzfy_master/xzfy@orcl file=d:\master0312.dmp full=y; 这里full=y一定要写上,就是要导入整个方案来着.还有分号一定要有否则不执行. 导出 复制代码 代码如下: exp xzfy_efmweb/xzfy@orcl file=d:\xzfy_efmweb0312.dmp 导

解析PL/SQL Developer导入导出数据库的方法以及说明_oracle

PL/SQL Developer是Oracle数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对导入或导出时的一些注意事项进行了说明,接下来我们就一一介绍. 导出步骤:    1 tools ->export user object 选择选项,导出.sql文件.    2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件.导入步骤:    注:导入之前最好把以前的表删除

oracle表空间中空表统计方法示例介绍_oracle

复制代码 代码如下: DECLARE v_table tabs.table_name%TYPE; v_sql VARCHAR2(888); v_q NUMBER; CURSOR c1 IS SELECT table_name tn FROM tabs; TYPE c IS REF CURSOR; c2 c; BEGIN DBMS_OUTPUT.PUT_LINE('以下为空数据表的表名:'); FOR r1 IN c1 LOOP v_table :=r1.tn; v_sql :='SELECT C

分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

1:MSSQL SQL语法篇: BULK INSERT      [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]         FROM 'data_file'        [ WITH       (      [ [ , ] BATCHSIZE = batch_size ]      [ [ , ] CHECK_CONSTRAINTS ]      [ [ , ] CODEP