sqlldr的用法

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

酱油是oracle菜鸟,贴出来一些学习的笔记,希望大神指点指点

sqlldr导数据的时候,如果数据文件有一堆空格,可以这么整

几个sqlplus的设置

set termout off; 是否在屏幕上显示输出内容,off屏幕不显示查询语句,主要与spool结合使用set feedback off; 关闭本次sql命令处理的记录条数,默认为on即去掉最后的已经选择的行数set echo off; 关闭脚本中正在执行的SQL语句的显示

set heading off; 关闭标题的输出,设置为off就去掉了select结果的字段名只显示数据

set trimout on; 去除标准输出每行后面多余的空格

set trimspool on; 将每行后面多余的空格去掉【linesize-实际字符数=多余空格】

各个参数属性

load data

infile '/home/oracle/sql_loader/test.txt' 待加载的数据文件

badfile '/home/oracle/sql_loader/test_bad.txt' 格式不匹配写入坏文件

discardfile'/home/oracle/sql_loader/test_discard.txt' 条件不匹配写入丢弃文件

append into table test_loader 追加的方式插入数据

fields terminated by "," 字段与字段之间的分隔符

trailing nullcols 这句的意思是将没有对应值的列都置为null (owner,object_name,object_id,object_type) 数据插入的对应字段

load data

infile '/home/oracle/emp.txt'

badfile '/home/oracle/bad.txt'

discardfile '/home/oracle/dis.txt'

append

into table t1

fields terminated by ","

trailing nullcols

(empno "trim(:empno)",ename"trim(:ename)")

(1)直接加载比传统加载效率要高

(2)不扫描原来的空数据块

(3)不需要sql解析,减少系统的负载

(4)不经过SGA,而传统加载时经过SGA;

(5)不走DBWR进程,走自己的专属进程,所以速度快

直接加载限制:

(1)不能加载簇表

(2)锁定整个表,在表上有活动事务的时候不能加载

直接加载特点:

(1)直接加载是在所有数据块后面加载新数据块,修改高水位线,不扫描原来的空数据块。

(2)直接加载只产生一点点的管理redo,因为要修改数据字典(也可以讲不产生redo)。

(3)回滚,如果加载失败把新分配数据块抹掉就行了。

(4)无需SGA,无需SQL解析,无需DBWR进程

SCOTT@POD>select owner||','||object_name||','||object_type from dba_objects where rownum<50001; 把object里的东西导进表里

load data

infile '/home/oracle/sqlldr/test.txt'

badfile '/home/oracle/sqlldr/bad.log'

append

into table test

fields terminated by ','

optionally enclosed by '"'

trailing nullcols

(owner "trim(wner)",object_name"trim(bject_name)",object_type"trim(bject_name)")

默认加载

[oracle@POD sqlldr]$ sqlldr scott/tiger control='/home/oracle/sqlldr/load.ctl'

导入的时候触发commit point

...

Commit point reached - logical record count 48864

Commit point reached - logical record count 48928

Commit point reached - logical record count 48992

Commit point reached - logical record count 49056

Commit point reached - logical record count 49120

Commit point reached - logical record count 49184

Commit point reached - logical record count 49248

Commit point reached - logical record count 49312

Commit point reached - logical record count 49376

Commit point reached - logical record count 49440

Commit point reached - logical record count 49504

Commit point reached - logical record count 49568

Commit point reached - logical record count 49632

Commit point reached - logical record count 49696

相关文档
最新文档