文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用SQL管理数据库--SQL*Loader

用SQL管理数据库--SQL*Loader

时间:2010-12-20  来源:x-i-x

 

文件

Ø       Log  -- 必需,保存loader会话信息,错误信息,如果生成失败将报错。

Ø       Control -- 必需,包含文件路径,解析,表名,数据等。

Ø       Data -- 可选,数据可以放在control文件里

Ø       Bad -- 没有通过loader或者数据库验证的记录,存在的情况创建,文件名:controlfile.bad

Ø       Discard -- 被过滤掉的数据,存在的情况下创建

 

用法

Ø       sqlldr  显示所有参数

Ø       sqlldr system/password regions.ctl

Ø       sqlldr control=regions.ctl userid=system/password

Ø       sqlldr system/password control=regions.ctl

 

control file

Ø       part1. 会话信息:日志,大小,路径

Ø       part2. 表列信息

Ø       part3. [可选] 数据

Ø       注释://some hint

Ø       关键词:开始:LOAD DATA / CONTINUE LOAD DATA, 包含:INTO TABLE参数

Ø       rows:每次提交的记录数

Ø       bindsize:每次提交记录的缓冲区

Ø       readsize:与bindsize成对使用,其中较小者会自动调整到较大者

sqlldr先计算单条记录长度,乘以rows,如小于bindsize,不会试图扩张rows以填充bindsize;如超出,则以bindsize为准。

 

 

用例

1.

Ø       cmd:   sqlldr hr/hr control=regions.ctl

Ø       control file regions.ctl :

LOAD DATA

-- Control file begins with LOAD DATA

INFILE *

-- The * tells SQL*Loader the data is inline

INTO TABLE regions TRUNCATE

-- truncate the target table before loading

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'

-- how to parse the data

(region_id, region_name)

-- positional mapping of data file fields to table columns

-- lines following BEGINDATA are loaded

-- no comments are allowed after BEGINDATA

BEGINDATA

1,"Europe"

2,"Americas"

3,"Asia"

4,"Middle East and Africa"

Ø                参数

truncate :load之前truncate table

insert:       load 开始之前表必须为空

append:    在表中追加数据

delete:   load之前删除 可以rollback

 

2

Ø                cmd : sqlldr hr/hr control=regions.ctl

Ø                control file :

LOAD DATA

INFILE '/apps/seed_data/regions.dat'

BADFILE '/apps/seed_data/regions.bad'

DISCARDFILE '/apps/seed_data/regions.dsc'

OPTIONS (DIRECT=TRUE)

-- data file spec

INTO TABLE regions APPEND

-- add this data to the existing target table

(region_id POSITION(1) INTEGER EXTERNAL

,region_name POSITION(3:25) NULLIF region_name = BLANKS  //空格时填 null

) -- how to parse the data

 

u      参考文档:Oracle manual Oracle Database Utilities 10g.

 

 

DirectPath

u      优点:快速,multiblock I/O,

u      缺点:常写于the highwater mark之上,数据占用的blocks数偏大

u      规则:

1. 索引将在导入完成之后rebuild,如果违反约束,状态置为unusable

2. 等待活动事务结束

3. 导入期间触发器无效

4. 不支持导入到cluster table

5. 外键约束在导入开始的时候失效,在导入完成的时候恢复

 

cluster table

Cluster是存储一组table的一种方法,这些table共享同一数据块中的某些相同column,并把不同table在这一共享column上值相同的data row存储到同一block上.

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载