很多人都没用过的轻量级Oracle数据库数据导出工具——性能超赞
mhr18 2024-10-01 12:07 17 浏览 0 评论
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秒.其余的几个属性请自己动手验证.
相关推荐
- jdk17安装和配置环境变量(jdk安装步骤环境变量配置)
-
简单介绍JDK17是Java的一个长期支持(LTS)版本,于2021年9月发布。作为LTS版本,它将获得Oracle的长期支持,这意味着会获得安全更新和错误修复,直到2...
- jdk8安装和配置环境变量(jdk8配置环境变量win10)
-
简单介绍JDK8是Java开发工具包的一个重大版本,于2014年3月发布。它引入了许多重要的新特性,极大地改进了Java编程的体验,并提高了代码的效率和可读性。总结JDK8是一...
- Java开发环境的准备流程!(java开发环境的准备流程有哪些)
-
准备开发环境工欲善其事,必先利其器。在学习本书的技术内容之前,应先将开发环境搭建好。本书所涉及的基础环境将在本章准备,包括JDK、IntelliJIDEA和Maven。如果读者对这些环境较为熟悉,可...
- skywalking-全链路跟踪(链路追踪sleuth)
-
一、概述1、skywalking简介SkyWalking是一款广受欢迎的国产APM(ApplicationPerformanceMonitoring,应用性能监控)产品,主要针对微服务、Clou...
- Oracle项目管理系统之成本状态跟踪
-
卷首语成本费用管理模块功能分为公司级、项目级两个层级,其中公司级功能包括概预算管理、概预算定额管理、预算模板管理,以及控制估算管理等功能。费用与成本成本费用管理主要是为了合理利用资金资源,控制企业的成...
- 从入门到精通,Java最全学习路线(java自学路线)
-
最近好多小伙伴询问,该如何学习java?那些视频适合零基础学习呢?大多数都是一些刚入门的新手,还不了解这个行业,也不知道从何学起,开始的时候非常迷茫,在这给大家整理出一些学习路线。Java学习路线在这...
- SPARC M7最新技术 甲骨文首度在台发表
-
甲骨文首度在台发表SPARCM7最新技术,宣布推出全新SPARC系统產品系列,採用革命性的32内核、256执行绪SPARCM7微处理器。这套SPARC系统提供:先进的入侵防护和加密的Securit...
- 轻量化的企业级OLAP方案2(轻量化ar)
-
上一篇文章讲了一个轻量化的企业级OLAP方案,这一篇文章继续介绍另外一个方案。方案2:Greenplum1Greenplum介绍1.1Greenplum概念Greenplum数据库是一种基于Po...
- 时序数据库在水电站领域的应用(时序数据库优缺点)
-
大家好,上期经过了王宏志教授对数据库前沿领域的介绍,不知道小伙伴们是否对数据库领域有了更深的认识呢,本期让我们回归时序数据库,再来聊一聊时序数据库在水电站领域的应用。本文仅代表个人观点,如有偏颇之处,...
- 数据库SQL引擎比较(数据库引擎有哪些,有什么区别)
-
数据库SQL引擎的典型工作机制及详细分析如下,涵盖查询处理全流程中的核心机制与实际案例:一、SQL引擎核心处理流程1.解析与校验阶段词法/语法解析:SQL语句被拆解为Token序列,构建...
- Ubuntu系统密码(root密码)的修改方法
-
本文介绍在Linux系统的Ubuntu电脑中,修改账户用户密码(同时也修改了root用户密码)的方法。首先,如果此时处于登录页面(也就是意识到自己忘记密码的那个页面),就先点击右上角的关闭按钮...
- TablePlus:一个跨平台的数据库管理工具
-
TablePlus是一款现代化的跨平台(Window、Linux、macOS、iOS)数据库管理工具,提供直观的界面和强大的功能,可以帮助用户轻松管理和操作数据库。TablePlus免费版可以永久...
- 云满足用户对通过单一视图了解整体运营和数据的需求
-
ZD至顶网软件频道消息:云在简化IT和业务的同时也带来了新问题,这很有趣,不是吗?毫无疑问,云大幅降低了企业运行基础设施和应用的复杂性和成本;但您仍然面临一个老生常谈的问题——孤岛,只不过这次是在云...
- SQL_TOP(显示数据条数)(sqlserver显示查询的行数)
-
(8)SELECT(9)DISTINCT(11)<topNum><selectlist>(1)FROM[left_table](3)<join_type>...
- php搭建小型部门网站(php构建网站)
-
熟悉前端html,js,css,后端熟悉php,python,java只能称得上一般,还有很多坑待踩。鉴于所学很杂,决定利用对业务的熟悉来搞一个部门网站来简化大家的工作流程。初步设计方案后端用p...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)