SQLLDR2 介绍

每周发表一篇数据库或大数据相关的帖子,敬请关注

1. 工具介绍

Sqluldr2(SQL * UnLoader 第二版)是灵活与强大的 Oracle 文本导出程序,已被大众使 用许多年了,有上千个国内外 DBA 在使用它或使用过它,并在使用的过程中提出了宝贵实 用的改进需求,在完善了众多真实客户的需求后,最终形成了现在的稳定版本。Oracle 有一 个工具叫 SQL*Loader(sqlldr)是用来将文本文件装载到数据库中的,而这个工具是用来将 Oracle 中的数据导出成文本的,因此取名为 SQL*UnLoader(sqluldr),而最后的 2 是因为第一 版是用 OCI 7 接口写的,而现在发布的是用 OCI 8 接口重写的,是第二代的意思。学会这样 的好工具,在遇到数据迁移需求时,可以让 DBA 轻松自在地完成任务。

1.1. 导出效率:

阿里巴巴(Alibaba)集团的 DBA 几年前就开始用 sqluldr 从生产系统中导出巨量数据给数据仓库分析,并在真实应用环境下 创下了我所见过的文本导出速度的最高记录, 总共用了 595 秒钟导出了 171 135 273 条记录, 平均每秒 287622 条记录。

1.2. 下载地址:

2. 工具安装

2.1. 下载安装包并解压

2.2. 配置环境变量

要运行Sqluldr2必须要安装Oracle的客户端(Oracle客户端的安装方法不在这里讨论),并配置LD_LIBRARY_PATH环境变量.

export LD_LIBRARY_PATH=/opt/oracle/product/11.2.0/dbhome_1/lib:$LD_LIBRARY_PATH

将其中的/opt/oracle/product/11.2.0/dbhome_1/lib替换成你自己的客户端安装目录.

2.3. 执行实例

2.3.1. 查看帮助

选项 格式 作用

query select 指定一个SQL 语句,通常用双引号括直来。

sql 文件名 指定包括SQL 语句的文本文件名。

field 分隔符 指定字段分隔符,默认为逗号

record 分隔符 指定记录分隔符,默认为回车换行,Windows 下的换行

2.3.2. 导出一个表的全部数据

1258万条数据,导出只需要100秒左右,效率还是可以的。

2.3.3. 导出一个表的部分数据

2.3.4. 导出时指定列分隔符

在上面导出时导出的文件内容如下

可以看出列分隔符为“,”,你也可以手动指定列分隔符.

通过field属性手动指定列分隔符.同理你也可以通过record属性指定行分隔符.

2.3.5. 指定导出文件的风格

通过text属于指定导出文件的风格

可以看出在列类型为varchar2和date的列的导出数据上分别加了双引号.

2.3.6. 优化

array 数字 指定 Array Fetch 的大小

read 数字 Oracle 一次读的最大块数

sort 数字(单位:MB) 指定排序区的大小

hash 数字(单位:MB) 指定 Hash 区的大小

serial yes 指定当全表扫描时用 direct path read

通过指定array的大小为20000后,发现导出的速度相比之前快了很多,1258万条数据只用了17秒.其余的几个属性请自己动手验证.

很多人都没用过的轻量级Oracle数据库数据导出工具SQLLDR2——性能超赞的更多相关文章

  1. oracle数据库数据导出和导入

    oracle的客户端里面的bin下面有两个可执行文件,名称分别为exp.exe和imp.exe. 他俩的用途就是导出和导入数据用的. 全库 导出:exp 用户名/密码@数据库名 full=y file ...

  2. 上传伪技术~很多人都以为判断了后缀,判断了ContentType,判断了头文件就真的安全了。是吗?

    今天群里有人聊图片上传,简单说下自己的经验(大牛勿喷) 0.如果你的方法里面是有指定路径的,记得一定要过滤../,比如你把 aa文件夹设置了权限,一些类似于exe,asp,php之类的文件不能执行,那 ...

  3. 很多人都在埋怨没有遇到好的团队,但好的团队不可能凭空出现,一流的团队不能仅靠团队成员努力,作为Leader,要有可行的规划,并坚定地执行、时势地调整(转)

    <西游记>中的唐僧团队历经千难万险,终于求得真经,目标明确.分工合理为这支队伍最终走向成功奠定了基础.唐僧从一开始,就为这个团队设定了西天取经的目标,虽然经历各种挫折与磨难,但目标从未动摇 ...

  4. [转帖](区块链补习班)ERC20很多人都听过,但ERC是什么你真的了解吗?

    (区块链补习班)ERC20很多人都听过,但ERC是什么你真的了解吗? http://baijiahao.baidu.com/s?id=1600948969290990883&wfr=spide ...

  5. 听说特斯拉花了4个月研发出新ERP,然后很多人都疯了

    欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 最近这件事儿在SAP圈里炒的挺火的,最主要是因为这几个关键词: 放弃SAP.4个月.自研ERP: 这则新闻一出来,很多人都兴高采烈,都要疯了 ...

  6. oracle数据库导入导出命令!(转)

    oracle数据库导入导出命令! Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成 ...

  7. cmd导出oracle数据库数据

    今天弄了下oracle数据库导入导出命令exp,imp 首先这个命令是在cmd直接执行,不是sqlplus登录后再执行,见下图: 再次,注意结尾不能有分号(;): exp scott/scott@su ...

  8. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...

  9. Oracle数据库使用Analyze提升sql性能

    Oracle数据库使用Analyze提升sql性能 如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会.假设你创建了一张拥有100万条记录的临 ...

随机推荐

  1. 【Java】判断字符串是否包含子字符串

    JAVA里面判断: public static void main(String[] args) { String str="ABC_001"; if(str.indexOf(&q ...

  2. KMPnext数组自看

    emm...无数次再看kmp了 因为一直没做相关的题..看了就忘看了就忘..emm.. next[i]表示去掉第i个元素后,自已的前缀和后缀完全匹配的最大长度 例 字符串 a b a b a b z ...

  3. Frequent values UVA - 11235(巧妙地RMQ)

    题意: 给出一个非降序排列的整数数组a1.a2,······,an,你的任务是对于一系列询问(i,j),回答ai,ai+1,······,aj中出现次数最多的值所出现的次数 解析: 白书p198 其实 ...

  4. [SDOI2011]黑白棋 kth - nim游戏

    题面 题面 题解 观察题目,我们可以发现,这个游戏其实就是不断再把对方挤到一边去,也就是黑子不断往左走,白子不断往右走. 因此可以发现,如果将黑白子按顺序两两配对,那么它们中间的距离会不断缩小,且每次 ...

  5. CF623D birthday 贪心 概率期望

    题意:n个人,玩抓人游戏,每抓住一个人都要猜这个人是谁.对于每一局,第i个人有$p_{i}$的概率被抓到.游戏结束当且仅当每个人都在某局中被抓到并且猜中自己的名字,求一个合适的策略来使得期望游戏局数最 ...

  6. Spring Cloud Greenwich 新特性和F升级分享

    2019.01.23 期待已久的Spring Cloud Greenwich 发布了release版本,作为我们团队也第一时间把RC版本替换为release,以下为总结,希望对你使用Spring Cl ...

  7. BZOJ1264 [AHOI2006]基因匹配Match 【LCS转LIS】

    题目链接 BZOJ1264 题解 平凡的\(LCS\)是\(O(n^2)\)的 显然我们要根据题目的性质用一些不平凡的\(LCS\)求法 这就很巧妙了,, 我们考虑\(A\)序列的每个位置可能匹配\( ...

  8. oracle 数据库记录

    /*----------------------------------------------------------------------------*/ 问题1[--------] Selec ...

  9. Ubuntu下Sublime Text 2优化配置

    以前经常用Notepad++,最近因为需要长期在Linux环境下进行C开发,就使用了sublime Text 2,这里就不介绍基本的了主要针对我使用的经验中进行一些总结. 1.pacage contr ...

  10. php开启压缩gzip

    php服务的开启压缩,节省带宽 看是否开启压缩的网站 http://www.cnblogs.com/GaZeon/p/5421906.html 找到php.ini,修改下面的 ,重启php-fpm z ...