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导出大数据的更多相关文章

  1. C#通过OLEDB导出大数据到Excel

    C#导出数据到Excel,基本有两种方法,一种方法是通过Microsoft.Office.Interop.Excel.Application,一行一列的写入Excel中:另一种方法是通过OLEDB,利 ...

  2. Struts2 利用AJAX 导出大数据设置遮罩层

    Struts2 利用AJAX 导出大数据设置遮罩层 需求背景: 每次我们导出excel的时候 ,如果数据量很大,导出花费的时间会很长,页面却有没人任何反应,这个时候用户会认为系统有问题,要么关了页面, ...

  3. 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

    1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...

  4. phpmyadmin导入导出大数据文件的办法

    在phpmyadmin的使用中,经常需要进行导入导出数据库的操作. 但是在导入导出大型数据库文件的时候经常会只是部分导出或者部分导入. 或者是导入导出不成功. 原因就是服务器和php.mysql限制了 ...

  5. oracle 有关大数据

    一. oracle大数据量分区后查询效率低下的一些建议: 1 对于当前表tm_bus_realtime_log.查看它的索引,只有一个(索引名:INDEX_BUS_REALTIME 字段名:UPLOA ...

  6. oracle 导出导入数据

    在window的运行中输出cmd,然后执行下面的一行代码, imp blmp/blmp@orcl full=y file=D:\blmp.dmp OK,问题解决.如果报找不到该blmp.dmp文件,就 ...

  7. 记录一笔关于PHPEXCEL导出大数据超时和内存溢出的问题

    通过查阅资料可以找到PHPEXCEL本身已经有通过缓存来处理大数据的导出了.但是昨晚一直没有成功,这可捉急了.最后想来想去就替换了phpExcel的版本了.最后就成功了.话不多说,代码附上 <? ...

  8. mysql/oracle jdbc大数据量插入优化

    10.10.6  大数据量插入优化 在很多涉及支付和金融相关的系统中,夜间会进行批处理,在批处理的一开始或最后一般需要将数据回库,因为应用和数据库通常部署在不同的服务器,而且应用所在的服务器一般也不会 ...

  9. php导出大数据scv

    1.我系统要导出30w的数据,刚开始我使用的是: ini_set('memory_limit', '1024M');set_time_limit(0); header("Content-ty ...

随机推荐

  1. python中使用redis

    准备 安装redis服务 点击查看Ubuntu中安装Redis. 安装依赖包 pip install redis 使用 import redis 创建连接 1.普通连接: conn = redis.R ...

  2. Angela启动步骤

    1.在web目录下执行 grunt watch (如果不在目录下执行不能识别,当然首先安装node.js) 2.随便改一个文件,会自动重新生成代码(在dest目录下会生成可执行的代码) 3.如果有de ...

  3. JAVA:IDEA使用Junit(3)

    1.配置 File ——> Project Structure ——> Libraries ——> + ——>搜索Junit类库 确认ok即可 2.编辑项目 选择创建 配置生成 ...

  4. phpstudy----------phpstudy开启apache日志并且按照日期划分创建。

    1.CustomLog "|bin/rotatelogs.exe logs/access_%Y_%m_%d.log 86400 480" combined 这里修改成上图所示,然后 ...

  5. 正则表达式(re模块)

    s='hello world' print(s.find('llo')) #找到llo ret=s.replace('ll','xx') #用xx代替ll print(ret) print(s.spl ...

  6. word之选中文本

    在word和notepad中: 特别是在文件很大,如果用鼠标下滑的话,不知道会滑多久呢, 快捷键+鼠标点击截至处

  7. Form数据迁移

    --------------------------------------添加linkserver--------------------------------------- --EXEC mas ...

  8. usdt节点启动慢和队列深度超出了范围问题

    usdt节点启动慢和队列深度超出了范围问题 usdt的连接节点报错Work queue depth exceeded(队列深度超出了范围)大概是什么问题?重启了几次节点都不行队列深度超出了范围,估计是 ...

  9. 51nod 1101 换零钱 (完全背包)

    N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元. 例如:5分钱换为零钱,有以下4种换法: 1.5个1分 2.1个2分3个1分 3.2个2分 ...

  10. 处理table 超出部分滚动问题

    我们有个需求是这样的,鉴于我的表达能力还是直接上原型图吧 今天主要记录上面的第四条解决过程. 首先我们的布局使用的table,当想给tbody设置高度的时候,发现不起作用.原因是table的默认是di ...