ociuldr 支持分多个数据文件
在审计工作,将几亿条的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 支持分多个数据文件的更多相关文章
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 大数据支持分表优化
公司的短信平台,数据量越来越大了,需要对数据进行一些优化,下面是拆分后的数据库量参考. 新开发的软件模块,必须支持分表,拆表的功能一个数据表里,不适合保存1000万以上的记录新开发的业务模块,能分表的 ...
- 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段.简单地说,Sharding就是将原来单一 ...
- 导入数据任务(id:373985)异常, 错误信息:解析导入文件错误,请检查导入文件内容,仅支持导入json格式数据及excel文件
小程序导入,别人导出的数据库json文件,错误信息如下: 导入数据库失败, Error: Poll error, 导入数据任务(id:373985)异常,错误信息:解析导入文件错误,请检查导入文件内容 ...
- DB 分库分表(5):一种支持自由规划无须数据迁移和修改路由代码的 Sharding 扩容方案
作为一种数据存储层面上的水平伸缩解决方案,数据库Sharding技术由来已久,很多海量数据系统在其发展演进的历程中都曾经历过分库分表的Sharding改造阶段.简单地说,Sharding就是将原来单一 ...
- [APUE]系统数据文件与信息
一.口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":&quo ...
- MySQL到底能支持多大的数据量?
MySQL是中小型网站普遍使用的数据库之一,然而,很多人并不清楚MySQL到底能支持多大的数据量,再加上某些国内CMS厂商把数据承载量的责任推给它,导致很多不了解MySQL的站长对它产生了很多误解,那 ...
- Postman—使用数据文件
前言 数据文件是非常强大的方式使用不同的测试数据来测试我们的API,以检查它们是否在各种情况下都能正常运行.我们可以认为数据文件是“Collection Runner”中每个请求的参数.下面,通过一个 ...
- AIX用裸设备给表空间添加数据文件
近期在对生产数据库表空间进行扩容,目的是春节期间保证表空间的使用率,不会出现紧急告警信息. 1.查看表空间使用率的SQL语句 col tablespace_name for a16 col SUM_S ...
- java 分次读取大文件的三种方法
1. java 读取大文件的困难 java 读取文件的一般操作是将文件数据全部读取到内存中,然后再对数据进行操作.例如 Path path = Paths.get("file path&qu ...
随机推荐
- SQL增加,删除,更改表中字段
1. 向表中添加新的字段 alter table table_name add column_name varchar2(20) not null 2. 删除表中的一个字段 delete t ...
- KMP算法浅析
具体参见: KMP算法详解 背景: KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的,就取三个人名字的首字母作为该算法的名字.其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除 ...
- 用代码给TABLE 添加字段,设置属性并编译
AOTTableFieldList AOTTableFieldList ,TableFieldNode; TableName tableName = "SML_InventTableExt& ...
- div模仿select效果二:带搜索框
项目需要,要做一个首字母快速定位的select,代码如下: HTML <div class="select_country" unselectable="on&qu ...
- PHP 生成excel|好用强大的php excel类库
做Magento的订单导出Excel功能,找了这个php的excel类 :PHPExcel. PHPExcel是强大的 MS Office Excel 文档生成类库,基于Microsoft's Ope ...
- 使用扩展方法(this 扩展类型)
namespace ConsoleApp_UseExtendWays{ class Program { static void Main(string[] args) { Student s = ne ...
- (笔记)angular Select选择
- How to search compound files
Last week my friend told me that she made a terrible mistake. She conducted raw serch and found no s ...
- leetcode 119
119. Pascal's Triangle II Given an index k, return the kth row of the Pascal's triangle. For example ...
- MyBatis学习系列三——结合Spring
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ...