oracle sql*loader的使用】的更多相关文章

sqlldr工具   SQL*Loader的客户端工具是sqlldr,在操作系统的命令行下输入sqlldr,后面不接任何参数,将显示帮助信息如下所示(所有命令行参数的简单描述及其默认值),所以你并不需要对下面的参数死记硬背,当你忘记它们时,可以通过这个方式快速查询. Valid Keywords: userid -- ORACLE username/password control -- control file name log -- log file name bad -- bad file…
控制文件是SQL*Loader里最重要的文件,它是一个文本文件,用来定义数据文件的位置.数据的格式.以及配置数据加载过程的行为,在sqlldr中以control参数指定控制文件.   在控制文件里配置命令行参数 (OPTIONS) 在上一篇中我们讲过命令行参数可以配置在三个地方,其中一个就是可以使用控制文件的OPTIONS字句(这也是最常用的方式),如下所示: OPTIONS (DIRECT=true, SILENT=(ERRORS, FEEDBACK) ) 更多的命令行参数,请见上一篇.  …
SQL*Loader原理   SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高.其示意图如下: 控制文件(Control File) (.ctl):用于控制数据导入的行为方式的文件(最重要的文件) 参数文件(可选)(Parameter File) (.par):可以把参数直接写在控制文件里,也可以单独写一个参数文件 数据文件(Data Files) :放置源数据的平面文件(可以…
在上一篇中我们介绍了SQL*Loader中最重要的文件——控制文件,而本篇要介绍控制文件中最重要的部分——字段列表,字段列表的作用是把数据文件中的记录和数据库中表的列对应起来,下面是字段列表的一个例子,本篇我们将一一讲解它们的意思. . . . 1 (hiredate SYSDATE, 2 deptno POSITION(1:2) INTEGER EXTERNAL(2) NULLIF deptno=BLANKS, 3 job POSITION(7:14) CHAR TERMINATED BY W…
C:/Documents and Settings/WWJD>sqlldr SQL :: Copyright (c) , , Oracle. All rights reserved. 用法: SQLLDR keyword=value [,keyword=value,...] 有效的关键字: userid -- ORACLE 用户名/口令 control -- 控制文件名 log -- 日志文件名 bad -- 错误文件名 data -- 数据文件名 discard -- 废弃文件名 discar…
最近由于遇到oracle控制文件的使用,虽然不是很复杂,但是从来没有用过,专门花点时间看看.点击 这里 查看详细 1,概述: Sql Loader: 一个批量工具,将文件数据导入到数据库.可以导入一个表或者多个表,甚至可以在导入时修改数据. 2,使用 a,你电脑需要装Oracle,不然你是找不到Sqlldr 这个命令的. 在控制输入台输入 sqlldr: 会列出相关的参数介绍. > sqlldr . . . Usage: SQLLDR keyword=value [,keyword=value,…
http://www.dba-oracle.com/t_sql_loader_commit_frequency.htm - Question:  Can I control the commit frequency when doing a large data load with SQL*Loader?  Is there a sqlldr parameter that controls commit points and limits for commits?  Is it possible…
本文介绍SQL*Loader在实际使用过程中经常用到的典型例子. 1. 表中的列比数据文件的列要少怎么办? 假设一个csv的文件如下: a1,a2,a3,a4 b1,b2,b3,b4 c1,c2,c3,c4 d1,d2,d3,d4 总共4列,先要求只要第2.3列数据,怎么办呢?这时候,FILLER(注意:不是FILTER)参数派上用场了,控制文件如下所示: load data infile 'data.csv' "str '\r\n'" into table test.test app…
SQL*Loader是一个向Orale大量倒数据的工具,可以从界定文件中导入数据如用 , 界定的,可以从定宽的文件导入数据,…
1.准备表数据 select * from emp10; create sequence seq_eseq increment start maxvalue ; --得到序列的SQL语句 select seq_eseq.nextval from sys.dual; --删除序列的SQL DROP SEQUENCE seq_eseq: create table emp10( empno ) primary key, ename ) not null, job ) not null, mgr ),…
用法: SQLLDR keyword=value [,keyword=value,...] 有效的关键字:     userid -- ORACLE 用户名/口令    control -- 控制文件名        log -- 日志文件名        bad -- 错误文件名       data -- 数据文件名    discard -- 废弃文件名 discardmax -- 允许废弃的文件的数目         (全部默认)       skip -- 要跳过的逻辑记录的数目  (…
Listing 1: ---------------------- dir *.csv type abc.csv sqlplus scott/tiger@orcl create table emp1 (name varchar2(80), salary number); host notepad abc.ctl load data infile abc.csv into table emp  fields terminated by ',' TRAILING NULLCOLS (name, sa…
SQL*Loader是oracle提供的可以从多种平面文件中向数据库中加载数据的工具,它比较适合业务分析类型数据库(数据仓库);使用sqlldr工具可以在很短的时间内向数据库中加载大量的数据,像把制作好的excel表格导入数据库,可以说非常方便,相关的数据加载和卸载工具还有外部表,IMP/EXP,数据泵等,其实,关于SQL*Loader的学习多数时间是花在了琢磨sqlldr控制文件的写法上,下面来总结一下SQL*Loader学习过程和一些实验案例. 一.sqlldr的命令帮助信息 [oracle…
目录 SQL*Loader对不同文件及格式的处理方法 2.1 Excel文件 一般的Excel文件最大行数不超过65536行,说明数据处理量并不大,处理Excel的方式是将其另存为CSV格式文件,然后即可按照正常方式导入即可. 2.2要加载的文件不是以逗号分隔 有两种方式可以参考:1)修改数据文件,将分隔符替换为逗号.2)修改控制文件,将FIELDS TERMINATED BY的值修改为实际的分隔符. 2.3要加载的数据中包含分隔符 例如,要向scott.tb_loader表插入数据提供的数据格…
最近项目涉及到将文本文件中的数据导入到Oracle数据库中,故研究了下SQL*Loader,官档提供的资料不是很丰富,很多案例中出现的语句在官档中找不到出处.但它提供的案例本身却彰显出了SQL*Loader功能的强大.鉴于Oracle 11g的软件本身没有携带这些案例,需要专门到官方网站下载Oracle Database 11g Release 2 Examples,甚是麻烦.在此,将这些案例分享,也方便以后研究.借鉴. 因官方文档还没有研究完,手里还有本<Oracle SQL*Loader:…
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 dblink,然后用 create table B as select * from A@dblink where ...,或 insert into B select * from A@dblink where ...3. exp A 表,再 imp 到 B 表,exp 时可加查询条件4. 程序…
2.1 基本知识 Oracle 的  SQL* LOADER  可以将外部格式化的文本数据加载到数据库表中.通常 与 SPOOL导出文本数据方法配合使用.     1.命令格式 SQLLDR keyword=value [,keyword=value,……] 例:$ sqlldr user/pwd control=emp.ctl data=emp.dat bad=emp.bad log=emp.log     2.控制文件 SQL*LOADER  根据控制文件可以找到需要加载的数据.并且分析和解…
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 dblink,然后用 create table B as select * from A@dblink where ...,或 insert into B select * from A@dblink where ...3. exp A 表,再 imp 到 B 表,exp 时可加查询条件4. 程序…
SQL*Loader原理 SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高.其示意图如下: 控制文件:用于控制数据导入的行为方式的文件(最重要的文件). 参数文件(可选) 数据文件:放置源数据的平面文件 错误文件:在数据加载时,把无法正确加载的数据放入错误文件中(比如数据格式问题.数据类型问题等) 丢弃文件(可选):有些数据,虽然数据格式.数据类型没有问题,但它被逻辑条件过滤掉…
SQL Loader是一种数据加载工具,可以把外部数据加载到Oracle数据库中.SQL Loader中的参数有很多,本文只在第一部分中列出常用参数.要想运用SQL Loader工具 ,需要我们编辑一个控制文件,所谓控制文件就是告诉SQL Loader应该怎样去工作的文件,这很好理解.当我们在加载数据时可以用两种方式:一种是把数据写在控制文件中:另外一种是把数据单独存放在一个数据文件中,并在控制文件中标明此数据文件. 1.常用参数 参数名称 含义 userid ORACLE username/p…
数据装载 sql loader(PPT-I-490-498) 14.1 sql*loader:将外部数据(比如文本型)数据导入oracle database.(用于数据导入.不同类型数据库数据迁移) 14.2 sql*loader 导入数据原理:在段(segment 表)insert 记录 1)conventional:将记录插入到segment的HWM(高水位线)以下的块,要首先访问bitmap ,来确定那些block 有free space 2)direct path:将记录插入到segme…
部分项目反馈系统整体突然变慢,经查询发现一个系统核心的大数据表的索引状态全部是Unusable. 导致索引失效的直接原因:当某些操作导致数据的rowid改变,索引就会完全失效. 那什么时候会导致rowid改变使得索引unuseable或者invalid呢? 一般普通表在在如下3个情况下可以使index unusable 1) 手动alter index unusable 2) Move [alter table move][alter table t02 move tablespace tbs0…
在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是工作中累积.整理记录的遇到的一些形形色色错误.希望能对大家有些用处.(今天突然看到自己以前整理的这些资料,于是稍稍整理.归纳成这篇博客,后面如果碰到其他案例,会陆陆续续补充在此篇文章.) ERROR 1:SQL*LOADER装载数据成功,但是发现某些字段的中文为乱码,这个是因为编码缘故造成乱码.可在控制文件中添加字符集编码参数解决问题, 例如:CHARACTERSET 'ZHS16GBK'…
CASE11 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase11.sql set termout off rem host write sys$output "Building demonstration tables . Please wait" drop table emp; create table emp (empno ) not null, ename ), job ), mgr ), hiredate date, sal ,), com…
CASE10 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase10.sql rem host write sys$output "Building demonstration tables. Please wait" rem do all cleanup drop table orders; drop table customers; drop type item_list_type; drop type item_type; drop type c…
CASE9 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase9.sql set termout off rem host write sys$output "Building demonstration tables. Please wait" drop table emp; create table emp (empno ) not null, ename ), job ), mgr ), hiredate date, sal ,), comm ,…
CASE8 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase8.sql set termout off rem host write sys$output "Building demonstration tables. Please wait" drop table lineitem; create table lineitem (l_orderkey number, l_partkey number, l_suppkey number, l_lin…
CASE7 1. SQL脚本 case7包含两个SQL脚本,一个是删除脚本ulcase7e.sql,一个是创建脚本ulcase7s.sql [oracle@node3 ulcase]$ cat ulcase7e.sql set termout off rem host write sys$output "Cleaning up Trigger and Package." DROP PACKAGE uldemo7; DROP TRIGGER uldemo7_emp_insert; EXI…
CASE6 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase6.sql set termout off rem host write sys$output "Building demonstration tables. Please wait" drop table emp; create table emp (empno ) not null, ename ), job ), mgr ), hiredate date, sal ,), comm ,…
CASE5 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase5.sql set termout off rem host write sys$output "Building demonstration tables. Please wait" drop table emp; drop table proj; create table emp (empno ) not null, ename ), job ), mgr ), hiredate dat…