oracle导出大数据
Sqluldr是什么:是一个oracle数据导出小工具。
Sqluldr作用介绍:Sqluldr可以快速导出oracle数据库中的数据。该小工具可以将数据库中的数据,导出多种不同的格式(如.txt、.csv等等,可按需选择)。
Sqluldr的使用背景:鉴于项目组经常会有遇到需要将数据库中的数据导出到excel中的情况,但是,PL/SQL Developer下,导出.csv格式的文件(这里指的就是将数据库中的数据导出,格式为excel的格式)的功能,在遇到大数据量的情况(如几十万,上百万),导出数据所花费的时间较长。而使用Sqluldr,导数速度大大提升,测试结果:每分钟约可以导出1G的数据。
配置工具包:
那么,该如何在windows系统下配置Sqluldr这个小工具呢?
详情如下:
1、先将下载好的程序包解压:

1、将1中蓝色圈圈中的文件copy到$ORACLE_HOME的bin目录中:
如何查找“$ORACLE_HOME的bin目录”,有个快捷的方法,直接到PL/SQL Developer-->Tools-->Preferences

直接将1中蓝色圈圈中的文件copy到以上红色线的bin目录中:

到这里,配置结束。(配置过程简单)
正式使用sqluldr:
配置好了,接下来,就直接使用,那么该如何使用呢?
详情如下:
1、打开cmd,输入sqluldr2.exe,若出现以下界面,则上述的配置过程,成功。

2、接下来,直接输入导出数据的命令即可:
sqluldr2.exe USER=dim/Hqyg_dw@oracle66 QUERY="select /*+ parallel(2) */ * from dim.dim_stocks" table=dim_stocks head=yes FILE=D:\sqluldr\test.csv
Cmd运行结果:


导出成功。
下面为一些小细节的补充介绍:
细节补充:
1、导出语句小剖析:导出语句比较简单,一般可以自己猜测出其中的意思,若不清楚,可以直接使用命令sqluldr2.exe,会有相关参数的介绍。
--(sqluldr2.exe USER=dim/Hqyg_dw@oracle66 QUERY="select /*+ parallel(2) */ * from dim.dim_stocks" table=dim_stocks head=yes FILE=D:\sqluldr\test.csv )

2、导出语句中,“table=dim_stocks”该部分可以省略。
--(sqluldr2.exe USER=dim/Hqyg_dw@oracle66 QUERY="select /*+ parallel(2) */ * from dim.dim_stocks" table=dim_stocks head=yes FILE=D:\sqluldr\test.csv )
3、由于cmd不识别换行的语句,所以,导出语句不要有换行情况。
4、sql的查询语句过长时,可以先将sql语句写到.txt的文件,然后再在导出语句中引用,详细如下:
sqluldr2.exe USER=dim/Hqyg_dw@oracle66 SQL=D:\sqluldr\ss.txt head=yes FILE=D:\sqluldr\test.csv (标红处为修改的地方)。
截图为写好的.txt的文件
sqluldr2.exe USER=fintest/asdfasdf@finace_db SQL=F:\test.txt head=yes FILE=F:\sqluldr\test.csv
参考来源:http://blog.itpub.net/26770925/viewspace-1379914/
oracle导出大数据的更多相关文章
- C#通过OLEDB导出大数据到Excel
C#导出数据到Excel,基本有两种方法,一种方法是通过Microsoft.Office.Interop.Excel.Application,一行一列的写入Excel中:另一种方法是通过OLEDB,利 ...
- Struts2 利用AJAX 导出大数据设置遮罩层
Struts2 利用AJAX 导出大数据设置遮罩层 需求背景: 每次我们导出excel的时候 ,如果数据量很大,导出花费的时间会很长,页面却有没人任何反应,这个时候用户会认为系统有问题,要么关了页面, ...
- 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节
1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...
- phpmyadmin导入导出大数据文件的办法
在phpmyadmin的使用中,经常需要进行导入导出数据库的操作. 但是在导入导出大型数据库文件的时候经常会只是部分导出或者部分导入. 或者是导入导出不成功. 原因就是服务器和php.mysql限制了 ...
- oracle 有关大数据
一. oracle大数据量分区后查询效率低下的一些建议: 1 对于当前表tm_bus_realtime_log.查看它的索引,只有一个(索引名:INDEX_BUS_REALTIME 字段名:UPLOA ...
- oracle 导出导入数据
在window的运行中输出cmd,然后执行下面的一行代码, imp blmp/blmp@orcl full=y file=D:\blmp.dmp OK,问题解决.如果报找不到该blmp.dmp文件,就 ...
- 记录一笔关于PHPEXCEL导出大数据超时和内存溢出的问题
通过查阅资料可以找到PHPEXCEL本身已经有通过缓存来处理大数据的导出了.但是昨晚一直没有成功,这可捉急了.最后想来想去就替换了phpExcel的版本了.最后就成功了.话不多说,代码附上 <? ...
- mysql/oracle jdbc大数据量插入优化
10.10.6 大数据量插入优化 在很多涉及支付和金融相关的系统中,夜间会进行批处理,在批处理的一开始或最后一般需要将数据回库,因为应用和数据库通常部署在不同的服务器,而且应用所在的服务器一般也不会 ...
- php导出大数据scv
1.我系统要导出30w的数据,刚开始我使用的是: ini_set('memory_limit', '1024M');set_time_limit(0); header("Content-ty ...
随机推荐
- Scrapy工作原理
目录 1. Scrapy旧版架构图(绿线是数据流向) 2. Scrapy新版架构图 1. 组件介绍 2. 数据流(Data Flow) 3. 使用Scrapy框架爬虫的重要命令 4. Middlewa ...
- Cocos Creator 鼠标事件
鼠标事件// 使用枚举类型来注册node.on(cc.Node.EventType.MOUSE_DOWN, function (event) {console.log('Mouse down');}, ...
- redis内存不够 : OOM command not allowed when used memory > ‘maxmemory’
Redis内存不够,报错. 三种解决思路 注:如修改了配置文件需重启redis 1. 增加redis内存,修改redis.conf(集群中为redis-env.sh),默认为1024MB,增加到合适的 ...
- bootstrapTable 合并单元格
/** * 合并单元格 * @param data 原始数据(在服务端完成排序) * @param fieldName 合并属性名称 * @param colspan 合并列 * @param tar ...
- CentOS 7 yum安装zabbix 设置中文界面
1. 配置安装前环境 2. 安装zabbix 3. 设置中文环境 准备搭建环境 : 系统:CentOS7.5 首先关闭SElinux 和防火墙 安装MariaDB数据库 [root@DaMoWa ...
- 使用axios优雅的发起网络请求
原文链接:https://www.jianshu.com/p/73585303fdc0 公司项目使用了vue作为技术栈,便理所应当地使用了官方推荐的axios进行网络请求,这里记录下axios的封装方 ...
- 防火墙iptables 设置
在服务器上架了一个tomcat,指定好端口号,我就开始访问,未果! 公司对服务器(RedHat)端口限制,可谓是滴水不漏! 用iptables 查看防火墙设置: Shell代码 iptables -n ...
- 《CSS世界》读书笔记(二)
<!-- <CSS世界> 张鑫旭著 --> 块级元素:水平流上只能单独显示一个元素 <li>元素默认的display值是list-item,是块级元素 块级盒子( ...
- axios、ajax、fetch三者的区别
1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新 优缺点: 1)局部更新 2)原生支持,不需要任何插件 3)原生支持, ...
- docker基本部署
一.基本概念docker 1.镜像(Image) Docker 镜像就是一个只读的模板. 例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用 ...