`
tonifun
  • 浏览: 20727 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux oracle利用 SQL*Loader数据导入文件数据

阅读更多


一:SQL*Loader简介


SQL*Loader:使用sqlldr将非oracle数据库数据导入进oracle数据库。
SQLLAR基本语法:
SQLLDR keyword=value[ ,keword=value]
例如: $sqlldr scott/oracle control=emp.ctl data=emp.data bad=emp.bad log=emp.log
控制文件:控制文件由三个部分组成,
1,全局选项:行,跳过的记录数等
infile子句制定的输入数据
数据特征说明: comment:--注释
如:
--this is a ……     //--表示注释
LOAD DATA
infile *          //表明数据在本文件中以begindata开头的区域内
APPEND      //append,追加导入(除此之外还有insert、repace/truncate)
INTO TABLE SCOTT.JACK    //数据导入scott.jack
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'   //fields terminated by','        文件是使用,来做分隔符,optionally enclosed by '"' 文件试试用"来作为定界符
FILLER_1 FILLER,       //制定某一列不会被装载
--DEPTNO position(1:2),DNAME position(*:16),    //指定列的位置,deptno为1-2咧的数据,都那么为0-16列数据
seqno  rrecnum     //载入每行的行号
SKIP n     //制定导入时可以跳过多少行数据
(
  ID INTEGER EXTERNAL,
  AGE INTEGER EXTERNAL
)
--Begindata
--1,2
--3,4
--1,b

输入文件:被控制文件制定数据格式的数据行集
坏文件:bad=jack.bad 不满足SQL*loader约束活不满组数据库数据插入约束的文件。
丢弃文件:不满足用户设定的规范而被丢弃的文件
日志文件:全程跟踪数据导入过程的文件。

二:高级选项:conventional path load 与 direct path load

conventional path load
通过常规通道方式上传
命令语法为:
$ sqlldr scott/oracle control=jack.ctl log=jack.log rows=1000 bindsize=8192000
其中:rows: 每次提交的记录数
Bindsize:每次提交的记录缓冲区大小
Readsize:与bindsize配合使用,其中较小者会自动调整到较大者
Direct-path load:
通过直通式方式上载,可以跳过数据库的相关逻辑,不进行SQL解析,而直接将数据文件直接导入到数据库中。
命令语法为:
$sqlldr scott/oracle control=jack.ctl log=jack.log direct=true

附:如果想导入excel文件的话,可以先将excel文件保存为csv格式,然后再导入(注意:csv格式里面所有的字符格式都是“字符型”char)

三、实例:
使用SQL*Loader导数据
首先在数据库中创建一个目录对象,并且该对象与操作系统中物理文件夹对应,并给文件夹授权。
!host mkdir /u01/expdp/jack
Create directory "jack" as '/u01/expdp/jack'
Grant read,write on directory "jack" to "plubic"
做完之后可以查看目录对象:
Select * from dba_directories;
在对应的文件夹中创建一个数据文件
!Host vim /u01/expdp/jack/jack.txt
1,2
1,3
2,b
在数据库中创建一张表,并且注意表的
Create table jack (id number(12),age number(12))
4、利用EM生成控制文件,也可以自己手工写

--this is a ……
LOAD DATA
Infile *
APPEND
INTO TABLE SCOTT.JACK
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(
  ID INTEGER EXTERNAL,
  AGE INTEGER EXTERNAL
)

利用SQL*Loader添加数据
Sqlldr scott/oracle control=jack.ctl logfile=jack.log
  • 大小: 70.3 KB
分享到:
评论

相关推荐

    oracle数据(文本)导出小工具

    1. **高效数据导入**:SQL*Loader 可以直接将数据加载到表中,避免了 SQL INSERT 语句的低效。它能够处理大量数据,并通过并行加载提高性能。 2. **多种数据格式**:支持各种数据格式,包括固定宽度、CSV、制表符...

    sqlldr报超出字符长度错误

    当使用SQL*Loader导入数据时遇到超出字符长度限制的错误,可以通过调整目标表列的长度、修改控制文件中的定义、优化控制文件以及检查源文件等多种方式来解决。在处理此类问题时,确保对SQL*Loader的工作原理有充分的...

    oracle大数据导出工具sqluldr2

    1. 准备数据文件:将需要导入或导出的数据组织成SQL*Loader支持的格式,如CSV或TXT。 2. 创建控制文件:编写包含数据映射和加载选项的控制文件。 3. 运行SQL*Loader:通过命令行调用SQL*Loader程序,并指定数据文件...

    D:\sqluldr2\sqlldr(linux+windows).rar

    **SQL*Loader(SQL Loader)** 是Oracle数据库提供的一款强大数据加载工具,它能够高效地将大量数据从外部文件批量导入到Oracle数据库中。在标题提及的`sqlldr(linux+windows).rar`压缩包中,包含了适用于Linux和...

    oracle sqluldr2 包含linux、windows 32 64位客户端,在测试环境下真实测试通过,并写有详细的说明

    2. **外部表**:SQL*Loader也可以利用Oracle的外部表功能,将数据文件视为数据库中的虚拟表,从而直接进行查询和加载。 3. **参数文件**:在运行SQL*Loader时,用户可以指定包含各种选项的参数文件,如数据文件的...

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

    在Oracle数据库管理中,SQL*Loader(简称sqlldr)是一个非常强大的工具,用于将外部数据文件中的数据批量加载到Oracle数据库表中。当涉及到处理带有自动增加字段的表时,SQL*Loader提供了一些灵活的方法来确保数据的...

    数据的导出导入

    SQL*Loader可以读取外部数据文件,并将其内容插入到数据库表中。它支持多种数据格式,包括固定长度和可变长度记录,以及各种字段分隔符。用户可以通过控制文件来定义数据加载的规则和格式。 2. **控制文件**: ...

    ORACLE快速导数据工具

    总之,"ORACLE快速导数据工具"是Oracle数据库管理中的一个利器,它利用SQL*Loader的强大功能,为数据导入导出提供了高效解决方案,特别是在处理大规模数据时,能显著提高工作效率。对于那些需要频繁进行数据迁移和...

    ORACLE 快速导出工具sqluldr2

    首先,SQL*Loader是Oracle Database提供的一种实用程序,它可以从外部数据文件中批量加载数据到数据库表中。与传统的INSERT语句相比,SQL*Loader能够处理大量数据,且性能优秀,因为它避免了频繁的数据库交互。此外...

    ORACLE数据定时导入导出工具

    在实际操作中,通常会利用操作系统级别的定时任务服务(如 Windows 的 Task Scheduler 或 Linux 的 cron)来定期执行 Data Pump、SQL*Loader 和 RMAN 命令。这样可以确保在特定时间点进行数据库的自动备份,提高...

    sqluldr2导出工具

    `SQL*Loader`是Oracle数据库系统中用于批量导入和导出数据的强大工具,而`sqluldr2`是它的一个特定版本,适用于不同的操作系统平台。本文将深入介绍`sqluldr2`工具及其在不同环境下(如Windows、Linux以及AIX)的...

    关于spool 和 sqlldr 的实例代码

    1. 创建控制文件:这是SQL*Loader的配置文件,定义了数据文件的结构、字段映射、错误处理等信息。 2. 准备数据文件:包含要导入的数据,格式应与控制文件匹配。 3. 运行SQL*Loader:通过指定控制文件和数据文件来...

    oracle 文本导入工具

    Oracle文本导入工具是一种实用程序,专门设计用于将TXT和CSV格式的数据文件批量导入到Oracle数据库中。这个工具是由开发者自己编写的,旨在简化数据导入过程,提高效率,并可能解决传统方法(如SQL*Loader或SQL命令...

    oracle.zip

    - **创建控制文件**:定义数据文件格式和目标表结构的SQL*Loader控制文件,例如`load_data.ctl`。 - **运行SQL*Loader**:使用以下命令将数据加载到数据库: ```bash sqlldr username/password control=load_data....

    Oracle备份与恢复总结.pdf

    - **通过Unix/Linux PIPE管道**: 利用操作系统特性提高效率。 - **全库导入的一般步骤**: 包括停库、导入、启动等关键步骤。 **1.4 常见问题** - **字符集问题**: 导出导入过程中可能出现字符集不匹配导致的问题。 ...

    Oracle to mysql 技术方案

    - **选择TXT文件导入**:在MySQL客户端中选择以TXT文件形式导入数据。 - **指定导入文件**:选择从Oracle导出的TXT文件。 - **指定分隔符**:通常情况下选择逗号`,`作为字段分隔符。 - **设置日期格式**:根据Oracle...

    【精品】Oracle 数据库备份与恢复总结.doc

    - **数据文件**:包含要加载的数据。 - **坏文件**:存储无法加载的数据记录。 - **日志文件**:记录加载过程中的信息。 - **高级选项**: - **ConventionalPathLoad与DirectPathLoad**:常规路径加载效率较低...

    Oracle备份与恢复总结

    ### Oracle备份与恢复总结 ...总之,Oracle提供了多种备份与恢复的方法,包括传统的EXP/IMP、SQL*Loader以及现代的RMAN,每种方法都有其适用场景和特点。在实际应用中,应根据具体需求选择合适的备份和恢复策略。

Global site tag (gtag.js) - Google Analytics