在审计工作,将几亿条的oracle数据通过sqlserver自带工具导入到sqlserver中,速度不是特别的理想,虽然通过视图方式能提高一些速度,但是既不简洁,也不方便。

用ociuldr工具,可以支持生成多个数据文件,并通过bcp方式导入到sqlserver中,速度狠理想。

ociuldr工具默认一个batch是50W条记录(即:batch=2 表示100W条记录生成一个文件),通过指定file选项来定义生成的数据文件名,中间请用包含” %b “字样,
” %b “ 会被打印成序列号:

在虚拟机模拟如下:

SQL> select count(*) from yoon;

COUNT(*)
----------
   7340032

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

1. 将ociuldr工具上传至BIN目录下

2. chown oracle.oinstall  ociuldr

3. chmod 775  ociuldr

[oracle@db01 ~]$ ociuldr -help
Usage: ociuldr user=... query=... field=... record=... file=...
(@) Copyright Lou Fangxin 2004/2005, all rights reserved.
Notes:
       -si   = enable logon as SYSDBA
       user  = username/password@tnsname
       sql   = SQL file name
       query = select statement
       field = seperator string between fields
       record= seperator string between records
       file  = output file name(default: uldrdata.txt)
       read  = set DB_FILE_MULTIBLOCK_READ_COUNT at session level
       sort  = set SORT_AREA_SIZE & SORT_AREA_RETAINED_SIZE at session level (UNIT:MB) 
       hash  = set HASH_AREA_SIZE at session level (UNIT:MB) 
       serial= set _serial_direct_read to TRUE at session level
       trace = set event 10046 to given level at session level
       table = table name in the sqlldr control file
       mode  = sqlldr option, INSERT or APPEND or REPLACE or TRUNCATE 
       log   = log file name, prefix with + to append mode
       long  = maximum long field size
       array = array fetch size
       buffer= sqlldr READSIZE and BINDSIZE, default 16 (MB)

for field and record, you can use '0x' to specify hex character code,
  \r=0x0d \n=0x0a |=0x7c ,=0x2c \t=0x09[oracle@db01 ~]# su - oracle
 
[oracle@db01 ~]$ ociuldr user=scott/tiger@orcl query="select * from scott.yoon" field='<[!]>' record='<[end]>' file=/u01/yoon_%b.txt table=scott.yoon batch=2
     
     2050 bytes allocated for column EMPNO (1) 
     550 bytes allocated for column ENAME (2) 
     500 bytes allocated for column JOB (3) 
    2050 bytes allocated for column MGR (4) 
    1050 bytes allocated for column HIREDATE (5) 
    2050 bytes allocated for column SAL (6) 
    2050 bytes allocated for column COMM (7) 
    2050 bytes allocated for column DEPTNO (8)

0 rows exported at 2014-10-30 01:13:21
  500000 rows exported at 2014-10-30 01:13:46
 1000000 rows exported at 2014-10-30 01:14:15
         output file /u01/yoon_1.txt closed at 1000000 rows.
  500000 rows exported at 2014-10-30 01:14:40
 1000000 rows exported at 2014-10-30 01:15:07
         output file /u01/yoon_2.txt closed at 1000000 rows.
  500000 rows exported at 2014-10-30 01:15:36
 1000000 rows exported at 2014-10-30 01:16:02
         output file /u01/yoon_3.txt closed at 1000000 rows.
  500000 rows exported at 2014-10-30 01:16:29
 1000000 rows exported at 2014-10-30 01:16:48
         output file /u01/yoon_4.txt closed at 1000000 rows.
  500000 rows exported at 2014-10-30 01:17:05
 1000000 rows exported at 2014-10-30 01:17:12
         output file /u01/yoon_5.txt closed at 1000000 rows.
  500000 rows exported at 2014-10-30 01:17:17
 1000000 rows exported at 2014-10-30 01:17:22
         output file /u01/yoon_6.txt closed at 1000000 rows.
  500000 rows exported at 2014-10-30 01:17:27
 1000000 rows exported at 2014-10-30 01:17:32
         output file /u01/yoon_7.txt closed at 1000000 rows.
  340032 rows exported at 2014-10-30 01:17:38
         output file /u01/yoon_8.txt closed at 340032 rows.

[root@db01 u01]# ls
app  backup  yoon_1.txt  yoon_2.txt  yoon_3.txt  yoon_4.txt  yoon_5.txt  yoon_6.txt  yoon_7.txt  yoon_8.txt

ociuldr 支持分多个数据文件的更多相关文章

  1. C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 大数据支持分表优化

    公司的短信平台,数据量越来越大了,需要对数据进行一些优化,下面是拆分后的数据库量参考. 新开发的软件模块,必须支持分表,拆表的功能一个数据表里,不适合保存1000万以上的记录新开发的业务模块,能分表的 ...

  2. 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案

    作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段.简单地说,Sharding就是将原来单一 ...

  3. 导入数据任务(id:373985)异常, 错误信息:解析导入文件错误,请检查导入文件内容,仅支持导入json格式数据及excel文件

    小程序导入,别人导出的数据库json文件,错误信息如下: 导入数据库失败, Error: Poll error, 导入数据任务(id:373985)异常,错误信息:解析导入文件错误,请检查导入文件内容 ...

  4. DB 分库分表(5):一种支持自由规划无须数据迁移和修改路由代码的 Sharding 扩容方案

    作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段.简单地说,Sharding就是将原来单一 ...

  5. [APUE]系统数据文件与信息

    一.口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":&quo ...

  6. MySQL到底能支持多大的数据量?

    MySQL是中小型网站普遍使用的数据库之一,然而,很多人并不清楚MySQL到底能支持多大的数据量,再加上某些国内CMS厂商把数据承载量的责任推给它,导致很多不了解MySQL的站长对它产生了很多误解,那 ...

  7. Postman—使用数据文件

    前言 数据文件是非常强大的方式使用不同的测试数据来测试我们的API,以检查它们是否在各种情况下都能正常运行.我们可以认为数据文件是“Collection Runner”中每个请求的参数.下面,通过一个 ...

  8. AIX用裸设备给表空间添加数据文件

    近期在对生产数据库表空间进行扩容,目的是春节期间保证表空间的使用率,不会出现紧急告警信息. 1.查看表空间使用率的SQL语句 col tablespace_name for a16 col SUM_S ...

  9. java 分次读取大文件的三种方法

    1. java 读取大文件的困难 java 读取文件的一般操作是将文件数据全部读取到内存中,然后再对数据进行操作.例如 Path path = Paths.get("file path&qu ...

随机推荐

  1. [神器推荐]node-webkit:跨平台桌面web应用的神器,非常有用(转)

    11月8号在清华拍的银杏树 http://finalshares.com/read-931

  2. 怎样用VB编写.DLL动态链接库文件

    VB一般可以生成两种特殊的DLL,一个是ActiveX DLL和ActiveX Control(*.ocx).这两种DLL都是VB支持的标准类型,在VB自身的例子中有,你可以参考.更详细的介绍可以参考 ...

  3. 8051学习笔记——IIC与EEPROM实验

    main.c #include <reg51.h> #include "iic.h" #define AT24C02 0xa0 //AT24C02 地址 sbit LS ...

  4. Hive On Spark和SparkSQL

    SparkSQL和Hive On Spark都是在Spark上实现SQL的解决方案.Spark早先有Shark项目用来实现SQL层,不过后来推翻重做了,就变成了SparkSQL.这是Spark官方Da ...

  5. 在 JNI 编程中避免内存泄漏

    JAVA 中的内存泄漏 JAVA 编程中的内存泄漏,从泄漏的内存位置角度可以分为两种:JVM 中 Java Heap 的内存泄漏:JVM 内存中 native memory 的内存泄漏. Java H ...

  6. 公司内部openStack环境信息

    公司内部openStack环境信息 yrzl内部openStack云平台平台访问地址,openStack云平台版本为Juno版本内网地址:  http://192.168.3.5:9090/horiz ...

  7. 【MongoBD】MongoBD持久化

    参考:http://f.dataguru.cn/thread-139560-1-1.html 参考:http://blog.mongodb.org/post/33700094220/how-mongo ...

  8. 在python3.5中使用pip

    我centos7上同时有python2.7和python3.5.现在希望能在使用python3.5时也能用pip.本来这应该是很容易的一件事,然而我一步步掉进坑里.. 官网安装pip的方法是,http ...

  9. rel="stylesheet" 描述

    <link type="text/css" rel="stylesheet" href="css/style.css"/> re ...

  10. 凡聊过必留下痕迹-破解加密的WeChat数据库

    有个朋友上门寻求协助,带着她朋友的朋友的手机,说是手机硬件有问题,想把手机内的资料都备份出来,尤其是WeChat的聊天内容…我跟她说,那iTool等工具不就可以帮上忙了吗?没想到她早就试过了, 说iT ...