通过的TabSplit程序的测试, 及完成并行版DataCopy工具后, 认为可以将TabSplit和SQLULDR2的源代码进行整合, 推出Parallel Inside的SQLULDR2程序, 使之成为导出海量Oracle数据到文本的利器.

    通过指定并行度(DEGREE)参数即可进行并行数据拷贝, 在文件名中用%p来表示进程序号, 以获得动态文件名.

sqluldr2 scott/tiger query=emp_his file=emp_his_%p.txt degree=2

    用700万数据的一个表进行测试, 并行方式执行时屏幕输出如下.

      0 rows exported at 2010-04-18 07:16:49, size 0 MB.
      0 rows exported at 2010-04-18 07:16:49, size 0 MB.
1000000 rows exported at 2010-04-18 07:17:00, size 52 MB.
1000000 rows exported at 2010-04-18 07:17:01, size 52 MB.
2000000 rows exported at 2010-04-18 07:17:11, size 104 MB.
2000000 rows exported at 2010-04-18 07:17:13, size 104 MB.
3000000 rows exported at 2010-04-18 07:17:22, size 156 MB.
3000000 rows exported at 2010-04-18 07:17:25, size 160 MB.
3570892 rows exported at 2010-04-18 07:17:28, size 189 MB.
        output file emp_his_2.txt closed at 3570892 rows, size 189 MB.
3769140 rows exported at 2010-04-18 07:17:31, size 201 MB.
        output file emp_his_1.txt closed at 3769140 rows, size 201 MB.

    由于需要查询一些系统视图来自动对大表进行切分, 需要授于源端用户查询系统视图的权限(SELECT CATALOG ROLE角色)即可, 下周一上传后就可以下载进行性能测试了.