SQL*Loader之CASE1】的更多相关文章

最近项目涉及到将文本文件中的数据导入到Oracle数据库中,故研究了下SQL*Loader,官档提供的资料不是很丰富,很多案例中出现的语句在官档中找不到出处.但它提供的案例本身却彰显出了SQL*Loader功能的强大.鉴于Oracle 11g的软件本身没有携带这些案例,需要专门到官方网站下载Oracle Database 11g Release 2 Examples,甚是麻烦.在此,将这些案例分享,也方便以后研究.借鉴. 因官方文档还没有研究完,手里还有本<Oracle SQL*Loader:…
在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是工作中累积.整理记录的遇到的一些形形色色错误.希望能对大家有些用处.(今天突然看到自己以前整理的这些资料,于是稍稍整理.归纳成这篇博客,后面如果碰到其他案例,会陆陆续续补充在此篇文章.) ERROR 1:SQL*LOADER装载数据成功,但是发现某些字段的中文为乱码,这个是因为编码缘故造成乱码.可在控制文件中添加字符集编码参数解决问题, 例如:CHARACTERSET 'ZHS16GBK'…
部分项目反馈系统整体突然变慢,经查询发现一个系统核心的大数据表的索引状态全部是Unusable. 导致索引失效的直接原因:当某些操作导致数据的rowid改变,索引就会完全失效. 那什么时候会导致rowid改变使得索引unuseable或者invalid呢? 一般普通表在在如下3个情况下可以使index unusable 1) 手动alter index unusable 2) Move [alter table move][alter table t02 move tablespace tbs0…
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…
CASE4 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase4.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 ,…
CASE3 1. SQL文件 [oracle@node3 ulcase]$ cat ulcase3.sql set termout off rem Do not clean up table because this example shows appending to existing rem rows in table that also has new columns. rem host write sys$output "Adding columns to emp. Please wai…
CASE2 1. 控制文件 [oracle@node3 ulcase]$ cat ulcase2.ctl -- NAME -- ulcase2.ctl - SQL*Loader Case Study 2: Loading Fixed-Format Files -- -- DESCRIPTION -- This control file demonstrates the following: -- Use of a separate data file. -- -- Data conversion…
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实验笔记 实验案例总结(1-7):     SQL*Loader实验笔记[一] 实验案例总结(8-13):   SQL*Loader实验笔记[二] 实验案例总结(14-19): SQL*Loader实验笔记[三]   8)加载序列 初始化 CJ@db11g>create table t2 (seqno int,name varchar2(20));   Table created. 控制文件 load data infile * into table t2 repla…
SQL*Loader原理   SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高.其示意图如下: 控制文件(Control File) (.ctl):用于控制数据导入的行为方式的文件(最重要的文件) 参数文件(可选)(Parameter File) (.par):可以把参数直接写在控制文件里,也可以单独写一个参数文件 数据文件(Data Files) :放置源数据的平面文件(可以…
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中最重要的文件——控制文件,而本篇要介绍控制文件中最重要的部分——字段列表,字段列表的作用是把数据文件中的记录和数据库中表的列对应起来,下面是字段列表的一个例子,本篇我们将一一讲解它们的意思. . . . 1 (hiredate SYSDATE, 2 deptno POSITION(1:2) INTEGER EXTERNAL(2) NULLIF deptno=BLANKS, 3 job POSITION(7:14) CHAR TERMINATED BY W…
前提,需要本地安装ORACLE 客户端 控制文件 cms.ctl load dataCHARACTERSET UTF8infile 'oracle.txt'APPEND INTO TABLE JR fields terminated by '|'(BUKRS,LONNO,WAERS,BLDAT,BUDAT,SHKZG,DLCOD,HKONT,FPGRP,FPNAM,LONPR,WRBTR,ECNMA,DLNAM,EVTCD,SEVTC,SEVTD,CITYC,CITY,LONTP,PAYER,R…
问:请讲述Import和SQL*Loader这2个工具的异同? 解答: 相同点:这两个ORACLE工具都是用来将数据导入数据库的. 区别是: IMPORT工具只能处理由另一个ORACLE工具EXPORT生成的数据.具体用法,请参考 Oracle的Import用法. 而SQL*LOADER可以导入不同的ASCII格式的数据源.具体用法,请参考 SQL*Loader使用详解(一).…
1.SQL*Loader介绍 1)SQL*Loader是一个从外部文件指加载数据到Oracle数据库的工具.语法类似于DB2的Load语法,但SQL*Loader支持各种load格式.选择性load和多表load. 2)SQL*Loader从文本文件导数据到数据库中.功能包括: 从定界文件装数据 从固定长度的文本文件装数据 从二进制文件装数据 在输入文件中过滤数据 2.如何使用SQL*Loader工具 1)sqlldr语法 sqlldr scott@ORCL/scott control=load…
SQL*Loader原理 SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高.其示意图如下: 控制文件:用于控制数据导入的行为方式的文件(最重要的文件). 参数文件(可选) 数据文件:放置源数据的平面文件 错误文件:在数据加载时,把无法正确加载的数据放入错误文件中(比如数据格式问题.数据类型问题等) 丢弃文件(可选):有些数据,虽然数据格式.数据类型没有问题,但它被逻辑条件过滤掉…
SQL*Loader FAQ: Contents [hide]  1 What is SQL*Loader and what is it used for? 2 How does one use the SQL*Loader utility? 3 How does one load MS-Excel data into Oracle? 4 Is there a SQL*Unloader to download data to a flat file? 5 Can one load variabl…
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,…
昨天晚上9点多,有个环境开发说特别慢,早上上去看下了,如下: 导致性能的是一个统计的sql执行计划走错了,主要不是因为kpodplck wait before retrying ORA-54,不过这个事件以前就没遇到过,经google,没搜到相关信息,只看到了itpub某个帖子提到KPODPLCK WAIT BEFORE RETRYING ORA-54 REPORTED IN SQL LOADER DIRECT PATH LOAD(Bug ID 10079079),经搜索MOS bugid,得知…
2013年4月27日 星期六 10:53  1. sql loader :将外部数据(比如文本型)数据导入oracle database.(用于数据导入.不同类型数据库数据迁移) 2.sqlloader 导入数据原理:在段(segment 表)insert 记录 1)normal :将记录插入到segment的HWM(高水位线)以下的块,要首先访问bitmap ,来确定那些block 有free space 2)direct: 将记录插入到segment的HWM(高水位线)以上的从未使用过的块,…
在 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. 程序…