Oracle Spool数据

昨天有个需求,让我导出数据到txt文本,数据有150w 数据库是oracle,试了下spool方式导出非常快:

Oracle Spool常用设置

命令描述
set arraysize 1000;此参数可提高spool加载速度,最大可设置为5000
set autotrace on;设置允许对执行的sql进行分析
set colsep ',';设置输出分隔符
set echo off;不显示@spool.sql脚本里每个sql命令,缺省是on
set feedback off;回显本次sql命令处理的记录条数,缺省为on
set heading off;输出标题,字段的名字,缺省为on
set linesize 1000;每行允许的最大字符数,设置大些,免得数据被截断,但不宜过大,太大会大大降低导出的速度(注意必须与trimspool结合使用防止导出的文本有太多的尾部空格)
set pagesize 0;输出每页行数,页面大小,缺省为24,为了避免分页,可设定为0
set serveroutput on;设置允许显示输出类似dbms_output;--编写存储过程时,大多会将必要的信息输出;
set term off;不在屏幕上输出执行结果
set termout off;显示脚本中的命令的执行结果,缺省为on
set timing on;显示每个sql语句花费的执行时间,设置显示“已用时间:XXXX”
set trimout on;去除标准输出每行的拖尾空格,缺省为off
set trimspool on;去除重定向(spool)输出每行的拖尾空格,缺省为off

Oracle Spool 使用方法

spool可以把数据导出成txt,cvs等;不但可以导出数据,也可以导出字符串,拼装成sql文件等

  • 常见方法如下:
    set echo off 
    set heading off feedback off pagesize 0
    set linesize 1000
    set TRIMSPOOL on
    set term off; 
    spool ac_load.txt; 
    select t.cust_id || ',' || t.cust_nm || ',' || t.cst_tel || ',' || t.cst_hp || ',' ||
       t.ar_lcls_id || ',' || t.ar_mcls_id || ',' || t.ar_scls_id || ',' ||
       to_char(t.ord_date,'yyyy-mm-dd hh24:mi:ss') || ',' || t.addr_1 || ',' || t.addr_2
    from AC_LOAD t
    where rownum
  • 把上面脚本保存到spool.sql文件,然后登录数据库执行即可 sqlplus user/pwd @spool.sql 等待执行完成,就能看到spool出来的ac_load.txt文件了

    小结

    Oracle spool是一种oracle导出数据的方式, 常用来做数据迁移,比如在A库spool某些字段的数据,传到B库做sqlldr加载; 也可以spool出cvs文档,然后转换成excl在做数据分析; 当然oracle还有更多的方式做数据迁移,比如exp/imp,expdp/impdp,copy from,dblink等; 具体就看你怎么使用了;总之这是一中非常便捷的方式,你不妨尝试一番!

继续阅读
广告也精彩
shunzi
  • 本文由 发表于 2018-02-0814:38:22
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Oracle中文转换成拼音首字母 BLOG

Oracle中文转换成拼音首字母

姓名转换成拼音首字母 今天使用帆软BI系统同步用户,遇到一个巨麻烦的问题,前期系统方法权限,用同步用户的方式,不能编辑用户信息,手动添加用户吧,又会把同步功能去掉了,这俩只能二选一! 最后没事想从数据...
字符串拆分 BLOG

字符串拆分

因某个需求,写了一个字符串拆分,可适配多种分隔符 用法如下: select * from table(GET_MED_OVAL_FILE_INFO('123----1----a1####345----...
在线音乐

在线音乐

Oracle正则表达式 Oracle

Oracle正则表达式

正则表达式简介 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: