SQL*Loader使用方法nbsp;(转自一沙弥的…
一、SQL*Loader的体系结构
SQL*Loader由一个输入控制文件来控制整个装载的相关描述信息,一个或多个数据文件作为原始数据,其详细组成结构包括
Input Datafiles -->装载到数据库的原始数据文件
Loader Control file -->提供给QL*Loader寻找及翻译数据的相关信息
Log File -->装载过程中产生的日志信息
Bad Files -->被剔除的一些不合乎规范化的数据,由SQL*Loader剔除,也可能被Oracle剔除
Discard Files -->对不满足控制文件中记录选择标准的一些物理记录
以上五个完整的部分最终将数据导入到数据库,当然,部分组件可以省略。
二、控制文件的作用及组成
控制文件是一个文本文件,控制文件中记录的信息告诉SQL*Loader在哪里寻找数据、如何翻译数据,以及将数据插入到哪里等
控制文件的组成分为三个部分
第一部分主要是关于通外部会话的相关信息
如一些全局选项、行信息、是否跳过特殊记录等
infile子句指明了从哪里寻找源数据
第二部分由一个或多个Into table块,每一个块包含一些被导入表的相关信息,如表名,列名等
第三部分为可选项,如果存在则包含导入的源数据
控制文件写法的注意事项
语法结构自由
不区分大小写
在行开始处使用--来作为注释行,在控制文件中的第三部分使用--来注释不被支持
关键字constant 和zone被保留
三、数据文件
数据文件可以有多个,这些数据文件需要在控制文件中指定
从SQL*Loader角度来看,数据文件中的数据被当做一条条记录
一个数据文件描述数据文件记录有三种可选的格式
固定记录格式
可变记录格式
流记录格式
这些记录格式在控制文件使用infile参数时,如果记录的格式未指定,则缺省的为流记录格式。如使用infile *时则为流记录格式
下面给出几种不同记录格式的例子
a.固定格式:INFILE datafile_name "fix n"
load data
infile 'example.dat' "fix 11" --表明每条记录长度固定为个字节
into table example
fields terminated by ',' optionally enclosed by '"'
(col1, col2)
example.dat:
001, cd, 0002,fghi, --第一条记录为, cd, 第二条记录为,fghi, 其中第二条记录包含了一个换行符
00003,lmn,
1, "pqrs",
0005,uvwx,
b.可变格式:INFILE "datafile_name" "var n"
load data
infile 'example.dat' "var 3" --使用3位来描述一条记录的长度
into table example
fields terminated by ',' optionally enclosed by '"'
(col1 char(5),
col2 char(7))
example.dat:
009hello,cd,010world,im, --009 表明第一条记录的长度为个9字节,表明第二条记录的长度为10个字节等
012my,name is,
c.流记录格式:INFILE datafile_name ["str terminator_string"]
load data
infile 'example.dat' "str '|/n'" --使用| 或换行符来作为一条记录的终止
into table example
fields terminated by ',' optionally enclosed by '"'
(col1 char(5),
col2 char(7))
example.dat:
hello,world,|
james,bond,|
逻辑记录的概念
通常情况下,数据文件中的一条物理记录即是一条逻辑记录,即数据文件的一条记录对应于数据库的一条记录SQL*Loader扩展了该功能可以将多条物理记录形成一条逻辑记录,而由这个组合再来生成一条数据库中的记录
SQL*Loader支持两种策略来形成逻辑记录
组合固定条数的物理记录来形成逻辑记录
将满足特定条件的物理记录组合并形成逻辑记录
四、数据文件装载方式
1.传统路径导入
使用生成SQL Insert语句来处理源数据,并且通过commit提交保存数据。每次数据导入将产生一些事务
在插入数据时寻找可用数据块,然后将数据填充到数据块
在插入到分区表的单个分区时使用下面的语法
INSERT INTO TABLE T PARTITION (P) VALUES ...
基于多cpu系统使用多个装载会话执行并发。即将数据文件分割为多个来装载
2.直接路径导入
SQL*Loader使用方法nbsp;(转自一沙弥的…相关推荐
- oracle load 用法,Oracle中SQL*LOADER使用方法总结
Oracle数据库中SQL*LOADER使用方法总结(一) sqlldr 有两种使用方法: 1.使用一个控制文件和一个数据文件. 2.只有一个控制文件,控制文件中包含数据. 分别对两种方法用例子进行说 ...
- SQL Loader使用方法
分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow --======= ...
- java sqlldr导入_使用SQL*LOADER将TXT或CSV数据导入ORACLE(转)
一.简介 SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIREC ...
- Oracle SQL Loader的详细语法
Oracle SQL Loader的详细语法 SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据 仓库选择使用的 ...
- sql loader 导入数据时的问题
2019独角兽企业重金招聘Python工程师标准>>> 在使用oracle sql loader 工具导入数据时遇到的问题,具体的shell脚本如下: #!/bin/bashexpo ...
- SQL Loader 的使用详解
Oracle 的SQL*LOADER可以将外部数据加载到数据库表中.下面是SQL*LOADER的基本特点: 1)能装入不同数据类型文件及多个数据文件的数据 2)可装入固定格式,自由定界以及可度长格式的 ...
- SQL*Loader 笔记 (一) 热身练习
SQL*Loader是加载数据的主流方法 传统路径:SQLLDR会利用SQL插入的方式加载数据 直径路径:直接格式化数据块 从一个平面文件读取数据,并将其直接写至格式化的数据库块,而绕开整个SQL引擎 ...
- Oracle【IT实验室】数据库备份与恢复之二:SQL*Loader
2.1 基本知识 Oracle 的 SQL* LOADER 可以将外部格式化的文本数据加载到数据库表中.通常 与 SPOOL导出文本数据方法配合使用. 1.命令格式 SQLLDR keyw ...
- Oracle SQL Loader数据导入
1.SQL LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,P ...
最新文章
- 【UIDynamic例子】挂起的方块
- HDU3072(Kosaraju算法)
- kafka身份认证 maxwell_聊聊MaxwellKafkaProducer
- Android主线程耗时动画卡顿,Android性能优化实战之界面卡顿
- 【转】Linux root修改密码失败
- bzoj 1179 抢掠计划atm (缩点+有向无环图DP)
- mysql vim 退不出_字符集问题之 MySQL, Linux终端, vim
- 下雨天我叫了顿外卖,就成了人渣?
- background使用
- 布谷鸟沙盒分析静态文件_“案例沙盒方法”喜提国际商学院协会(AACSB)2019年启发式创新奖...
- Java IO实战操作(三)
- python导入自定义函数_python怎么导入自定义函数
- 【新闻发布系统】项目文档
- 在某龙芯平台上编译FFMPEG报错:ERROR: xxx not found using pkg-config
- 网络流量监测IP雷达 1.0
- 单反相机的传奇—佳能单反50年辉煌之路(连载十五)
- NepCTF2021-Web部分(除画皮)
- 新手前端微信小程序img图片无法显示问题
- 修改过----AtCoder Beginner Contest 190 D	Staircase Sequences(唯一分解求因子数)
- UEFI----EFI_DRIVER_BINDING_PROTOCOL
热门文章
- string的常用方法(详细)
- Redis源码解析(15) 哨兵机制[2] 信息同步与TILT模式
- MySQL数据备份命令
- vue3跨组件传值(爷孙组件传值)
- Unity3d Camera FOV
- python 最大子序列之和
- [AWS] dynamodb-local本地数据库安装以及dynamoose模块连接dynamodb-local
- 【机友会选手机攻略】合约机是什么?和裸机有什么区别?0元购机和购机入网送话费区别?...
- 测地距geodesic
- 迅时MX8(FXO)8口语音网关连接Elastix+服务器配置