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/