oracle中spool卸数,Oracle中如何快速的卸载和加载数据?

本文介绍了如何使用ociuldr工具快速从Oracle数据库中导出数据,并结合sqlldr高效地加载到数据库中。ociuldr是用C编写的,通过OCI接口与数据库交互,显著提高了数据处理速度。通过实例演示了ociuldr的使用方法、sqlldr的控制文件创建以及数据加载过程,展示了这一组合在数据库操作中的高效性能。
摘要由CSDN通过智能技术生成

前几天有个朋友在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-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值