`

ORACLE sqlldr 大数据量 导入

 
阅读更多

由于项目需要,需要向数据库中导入6000万条数据。现有的资源是txt文本(数据用“,”分开的)。

     方案一:转换成insert语句,但是执行效率太低,放弃。

     方案二:使用plsql工具(tool-text import),这种效率大概是50万条每小时。由于时间紧急所以也不行。

     方案三:使用sqlldr,这种效率还凑合,大概350万每小时。下面着重介绍下。

          工具:sqlloader

          前提:安装oracle服务端

          环境:6000万数据、i5cpu4g内存,oracle10g    

   步骤:

    执行过程中的数据如下:

1.         书写ctl文件(本例risk.ctl):

OPTIONS(skip_index_maintenance=TRUE,direct=true,BINDSIZE=20971520,READSIZE=20971520,ERRORS=-1,ROWS=500000)

unrecoverable

load  data 

CHARACTERSET AL32UTF8

infile   'C:\Users\LHB\Desktop\TaxmodelData\PureRiskPremiumItem.txt'

insert into table pureriskpremium

Fields terminated by ','

trailing nullcols

(MODELCODE,

 BASICRATECODE,

 AREACODE,

 BASICRISKPREMIUMS,

 BIZVERSION,

 EFFECTIVETIME,

 OBTAINCREATETIME

);

解释:

ROWS=500000 每500000提交

C:\Users\LHB\Desktop\TaxmodelData\PureRiskPremiumItem.txt' 需要处理的真实

Fields terminated by ',' 分隔符,本例分隔符是“,”

pureriskpremium 表名

2.         打开cmd

sqlldr jyrluser/jyrluser@10.9.249.5:1521/xasccxdb1 control=C:\Users\LHB\Desktop\TaxmodelData\risk.ctl

 

log=c:\jrimp.log

解释:sqlldr 用户名/密码@真实的ip:端口号/实例名 control=控制文件地址 log=日志(失败时才有日志)

3.      回车后,如果没有报错,说明正在执行。每执行一定条数会提示出来。

4.     报错信息调试:

       SQL*Loader-2026:加载因SQL加载程序无法继承而被终止
SQL*Loader-925:uldlfca:OCIStmtExecute(ptc_hp)时出错
ORA-03114:未连接到ORACLE

 

       当时执行到3000左右时,报错了,然后查询报错日志,从日志中看出,字段定义长度太短,导致报了3000万条错误,后来扩充了字段。再次执行,就好用了。

 

C:\Users\Administrator>sqlldr xinjiatao/xinjiatao@127.0.0.1:1521/ORCL control=F:\New_Data\A\test.ctl log=c:\xin.log   data=F:\New_Data\A\score_20170715.csv

 

 

分享到:
评论

相关推荐

    oracle sqlldr多文件批量导入

    Oracle SQL*Loader是Oracle数据库提供的一种强大的数据加载工具,它能够高效地将大量数据从文本文件导入到数据库中。在“oracle sqlldr多文件批量导入”这个场景下,我们需要掌握如何利用SQL*Loader一次性处理多个...

    Oracle sqlldr 大批量数据导入工具

    Oracle sqlldr 大批量数据导入工具使用实例,通过Oracle 自带的sqlldr 工具可快速导入大批量的数据至Oracle中。 工具使用前提条件: 1.安装的Oracle Client 不能为精简版,要不然就找不到sqlldr.exe 2.将Oracle的...

    利用sqlldr大量数据导入

    总之,SQL*Loader是Oracle数据库进行大量数据导入的强大工具,通过合理配置和使用,可以有效提高数据导入效率,减少系统资源消耗,从而在大数据处理中发挥重要作用。在实际操作中,应结合具体业务需求和数据库环境,...

    windowns下利用bat命令+oracle的sqlldr功能导入数据

    1. **并行加载**:如果数据量很大,可以考虑使用多个控制文件并行加载,提高效率。 2. **错误处理**:通过设置错误处理选项,决定如何处理加载过程中遇到的错误,如忽略错误、停止加载或记录错误信息。 3. **...

    C# 通过oracle sqlldr 将TXT批量导入oracle

    C# 通过oracle sqlldr 将TXT批量导入oracle 一个文件夹里有大量的TXT文件,以"~"区分各字段. 这个程序能批量将此文件夹里的所有的文件导入oralce 并按日期把已导入的TXT文件复制另一个文件夹

    sqlldr导入带有自动增加的数据

    SQL*Loader是Oracle提供的一个实用程序,用于快速、高效地将大量数据加载到Oracle数据库中。它支持多种数据源格式,如文本文件、Excel文件等,并能够处理各种数据类型。SQL*Loader可以自动转换数据格式,检测并处理...

    Oracle大数据量数据导入导出示例

    ### Oracle大数据量数据导入导出的关键知识点 #### 一、Oracle大数据量数据导出操作 在Oracle数据库中,处理大数据量的数据导出通常涉及到优化查询性能、减少资源消耗以及确保数据完整性等方面。以下是对给定文件...

    关于 Oracle 的数据导入导出及 Sql Loader (sqlldr)

    Oracle 数据导入导出是数据库管理中的重要操作,用于在不同环境之间迁移数据、备份或恢复数据,以及批量加载大量数据。Sql Loader(SQL*Loader)是Oracle提供的一种高效的数据加载工具,可以快速将数据从外部文件...

    oracle导入表导入数据实例

    Oracle还提供了其他数据导入工具,如`LOAD DATA INFILE`语句(在SQL*Plus中直接执行)、`DBMS_LOB`包(PL/SQL编程方式)以及Data Pump(`expdp`和`impdp`),它们各有适用场景,选择哪种方法取决于数据量、性能需求...

    oracle sqlldr 导入乱码问题

    在Oracle数据库环境中,SQL*Loader(SQL Loader)是一款强大的数据导入工具,用于将大量数据从文本文件快速批量地加载到数据库表中。然而,在实际操作过程中,用户可能会遇到各种问题,其中“导入乱码问题”尤为常见...

    sqlldr自动生成控制文件导入到表

    SQL*Loader(简称sqlldr)是Oracle数据库提供的一款强大的数据加载工具,用于将...通过这种方式,sqlldr不仅可以用于数据导入,还可以作为一种有效的数据迁移和备份手段,尤其适用于需要定期同步或备份大量数据的场景。

    Oracle sqlldr导入一个日期列实例详解

    Oracle SQL*Loader(sqlldr)是Oracle数据库提供的一种强大的数据加载工具,用于将大量数据从文本文件快速导入到数据库表中。在这个实例中,我们将详细探讨如何使用SQL*Loader导入包含日期列的数据。 首先,我们...

    如何通过txt文件批量导入数据到oracle数据库

    在IT行业中,数据库管理是至关重要的任务之一,Oracle数据库作为全球广泛使用的数据库系统,经常需要处理大量的数据导入工作。在面对存储着大量记录的文本文件(如TXT)时,手动一条条输入数据显然是低效且易出错的...

    oracle最强大的sqlldr上传工具

    - 大规模数据导入:当需要快速导入大量数据时,SQL*Loader比传统的INSERT语句快得多。 - 数据仓库构建:数据仓库通常需要处理大量历史数据,SQL*Loader的高效特性使其成为理想选择。 - 数据迁移:在数据库迁移...

    Windows版oracle10g精简客户端(带sqlldr)

    在这个精简客户端中,包含了sqlldr,使得用户无需完整安装Oracle客户端,也能利用sqlldr进行数据导入操作,极大地简化了工作流程。 在压缩包中,"使用说明.txt"文件很可能是对如何配置和使用这个精简客户端的详细...

    oracle不同用户名及表空间之间的数据导入

    1. **使用EXPDP/IMPDP工具**:Oracle Data Pump Export (EXPDP) 和 Import (IMPDP) 是用于大量数据迁移的高效工具。首先,使用EXPDP从源用户导出数据,指定用户、表空间等相关参数。例如: ``` expdp 用户名/密码 ...

    浅谈ORACLE的SQLLDR

    - **兼容性好**:SQL Loader是Oracle提供的一个非常实用的数据导入工具,能够处理不同格式的数据文件,并将其导入Oracle数据库。相较于EXP/IMP等其他工具,SQL Loader在跨数据库版本间的兼容性表现更佳。 - **支持...

    OraLoader--用sqlldr的Oracle库表数据装载工具

    OraLoader是一款基于sqlldr的Oracle数据库数据装载工具,它简化了传统SQL*Loader的操作流程,为数据库管理员和开发人员提供了更为方便的数据导入与导出解决方案。传统的SQL*Loader在处理大量数据时表现出色,但需要...

    Oracle Client sqlldr和ulus.msb文件

    它能够快速地将大量数据从文本文件导入到数据库表中,适用于大批量的数据迁移、初始化或更新任务。`sqlldr`具有以下特点和功能: 1. **高速导入**:通过直接路径加载方式,`sqlldr`绕过了数据库服务器的常规处理,...

    oracle导入txt数据的脚本

    - 大量数据导入时,考虑使用直接路径加载模式(DIRECT PATH),以提高性能。 - 对于有特殊格式的数据,如日期或数字,需要在控制文件中设置正确的转换格式。 - 如果数据包含特殊字符,如制表符或换行符,可能需要...

Global site tag (gtag.js) - Google Analytics