大家有将oracle中的表快速导出为固定格式的txt文件的比较好的算法或工具推荐吗?

我要将oracle中上亿条数据的表快速导出为固定格式的txt文件,有没有比较好的算法或工具推荐呢?

至尊宝
至尊宝
1159
编辑于2012-03-15
评论 (0)链接2012-02-22 
  
步骤如下:

新建一个sql脚本 d:\czrk.sql,代码如下:

SET echo off
SET feedback off
SET newpage none
SET pagesize 50000
SET linesize 20000
SET verify off
SET pagesize 0
SET term off
SET trims ON
SET heading off
SET trimspool ON
SET trimout ON
SET timing off
SET verify off
SET colsep |
spool d:\czrk.txt
SELECT sfzh || ',' || xm || ',' || xb || ',' || csrq || ',' || mz|| ',' || xzqh|| ',' || jzdz FROM m_czrk WHERE rownum<=10000;

spool off
sqlplus连接上Oracle表中的数据库,执行脚本 sqlplus dc/dc@mydb;
刘锡涛
刘锡涛
281
编辑于 2012-02-22
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (1)链接 • 2012-02-22
  • 0 支持
    使用spool输出应该是比较简单和方便的,不用安装其他程序 – leavesws 2012-09-06

推荐使用Ociuldr,速度超快,缺点是只能导出txt格式的;High Performance For Oracle Text Unload Or Export With Ociuldr
还有sqluldr2也可以试一下,oracle导出大数量数据到文件sqluldr2

finemond
编辑于 2012-02-22
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-02-22

pl/sql developer 效率还可以。我用rapid SQL导出不了的(数据量太大导致死机,程序崩溃),用它就可以。
效率最高的应该是Sql Loader(sqlldr)。

另外,你为什么不分批导出呢?

该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-02-22

使用官方的Sqlloader,一般情况下,异构系统传输数据,可以考虑用。
如果导出数据不是目的的话,可以考虑用Goldengate之类的数据同步软件,支持异构数据库,异构平台,异构版本,双向同步。

该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2012-09-18
德问是一个专业的编程问答社区,请 登录注册 后再提交答案