论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> ORACLE认证 >> IT正文
Oracle中如何快速的卸载和加载数据
 作者:佚名     2007-3-15 13:32:58        来源:不详  浏览次数:

    前几天有个朋友在MSN上问,如何能更快速的从数据库中卸载和加载数据,他原来是用sql查询spool出来,效率很低。

    这让我想起DCBA的一个工具ociuldr,这个工具是用C写成的,通过OCI和数据库交互,方便而且效率很高。
    通过ociuldr转储的数据,可以很容易用sqlldr加载入数据库,两者结合使用,效果非凡。
我简单测试了一下,转储很简单:

D:\OraDoc\OracleTools\ociuldr>ociuldr user=scott/tiger@eygle2 query="select * from emp" field=# record=0x0a file=emp.txt


0 rows exported at 2007-02-27 15:47:48
14 rows exported at 2007-02-27 15:47:48
output file emp.txt closed at 14 rows.

创建好测试表:

D:\OraDoc\OracleTools\ociuldr>sqlplus scott/tiger@eygle2

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 2月 27 15:53:40 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

SQL> create table empt as select * from emp where 1=0;

表已创建。

编写简单的控制文件,通过sqlldr轻松加载入数据库:

D:\OraDoc\OracleTools\ociuldr>cat a.ctl
LOAD DATA
INFILE 'emp.txt'
INTO TABLE empt
APPEND
FIELDS TERMINATED BY '#' TRAILING NULLCOLS
(
EMPNO ,
ENAME CHAR ,
JOB CHAR ,
MGR ,
HIREDATE DATE ,
SAL ,
COMM ,
DEPTNO
)

D:\OraDoc\OracleTools\ociuldr>sqlldr scott/tiger@eygle2 control=a.ctl

SQL*Loader: Release 10.2.0.1.0 - Production on 星期二 2月 27 16:01:24 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

达到提交点 - 逻辑记录计数 14

D:\OraDoc\OracleTools\ociuldr>sqlplus scott/tiger@eygle2

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 2月 27 16:01:37 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

SQL> set linesize 120
SQL> select * from empt;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7876 ADAMS CLERK 7788 23-5月 -87 1100 20
7900 JAMES CLERK 7698 03-12月-81 950 30
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10

已选择14行。

SQL>

dcba说将在下一版增加自动控制文件生成的功能,那时候这个工具将会更加方便了。

-The End-

http://www.eygle.com/archives/2007/03/dcba_sqlldr_ociuldr.html



责任编辑:lss
  相关新闻
Spring MVC framework总体分析
06年9月23日计算机二级Access答案汇总(网友提供)
06年9月计算机等级考试二级VF笔试试卷(Word版)
06年9月计算机等级考试二级Access官方标准试卷
JSF经典视图技术-Facelets 实例解析
Spring MVC framework总体分析
WebWork拦截器(Interceptor)使用方法
Oracle中国前员工述说公司高层内部纷争史
Wicket初次接触之HelloWorld
Oracle身份管理套件帮助企业进行安全管理
数据库系统工程师:NBU备份ORACLE时Code 29错误
ORACLE中用一条SQL实现其它进制到十进制的转换
06年9月23日计算机二级Access答案汇总(网友提供)
06年9月计算机等级考试二级Access官方标准试卷
06年9月23日计算机等级考试二级Access标准答案
06年9月计算机等级三级网络技术笔试试卷(Word版)
06年9月计算机等级考试二级VF笔试试卷(Word版)
Oracle中国前员工述说公司高层内部纷争史
Oracle下调数据库许可价格 以适应多芯CPU
Oracle身份管理套件帮助企业进行安全管理
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号