`

SPOOL详解

阅读更多
SPOOL详解2011-02-11 10:14spool命令示例:
以下保存为SQL脚本,在SQLPlus中运行
set echo off set timing off   --关闭返回执行时间
set heading off   --设置不显示列名
set feedback off  --设置不返回选择数据行数
set linesize 320 --设置每行记录字符长度为320字符(1个汉字两个字符)
set pagesize 24 --设置每页行数24条(默认值24)
set newpage 1   --设置新页前1个空行(默认值1)
set trimspool on --设置删除spool写入文件前时输出的尾随空格(默认值OFF)
set termout off   --设置屏幕不捕捉、不显示查询结果集(文本文件执行SQL方生效)spool F:\exp.tsv --spool设置导出文件的完整的路径(包含文件名);此时文件已存在,打开,文件不存在,创建并打开。在执行spool off命令前,不能对该文件进行修改保存。
SELECT '导出的内容' FROM DUAL; --要导出的数据的查询语句
spool off --关闭文件,完成数据导出

spool命令参数详解
set echo <on|off>set timing <on|off>:
开启/关闭返回执行时间;默认值OFF 设置为ON(开启),目前没有发现对执行速度的影响,可忽略。开启后,执行时间将被写入导出文件最后一行。
set heading <on|off>:
开启/关闭每页显示列名;默认值ON设置为ON(开启),每一页数据都将增加一行列名。开启后,导出文件会增大,降低导出数据的速度(具体增大量与对速度的影响取决于pagesize参数的设置);
set feedback <on|off>:
开启/关闭返回行记录数;默认值ON设置为ON(开启),目前没有发现对执行速度的影响,可忽略。开启后,执行时间将被写入导出文件最后一行(如果开启返回执行时间,在返回执行时间前两行)。
set linesize <整数:1至32767>:
文本文件每行字符长度(1个汉字占2个字符)设置的长过大,将影响导出的速度(未测试),过小(小于某条数据与该行所有分隔符字符总数),该条记录将会被拆分成多行。该参数要根据实际表情况进行设定。
set pagesize <整数:0至50000>:
结果集每页记录数;默认值24设置的越小,文件越大,但对导出大量数据影响不大。因为设置越小,数据相同情况下,空行越多。
set newpage <非负整数>:
新页前空行数;默认值1默认值为1,每一页前存在1个空行。设置为0,每一页的第一行前存在一个换行符号,没有空行。为保持数据整洁,建议使用默认值1。
set colsep ‘<字符>’:
数据列间隔符不建议使用该参数,该参数极度影响导出性能(已测试),且导出的文件在SQL Loader中进行数据导入的失败率相当高(未测试)。设置该参数后,导出文件速度与大小成倍增加,具体视数据量而定。建议使用在数据库查询语句中编辑输出格式。
set trimspool <on|off>:
spool写入文件前时是否将输出的尾随空格删除;默认OFF 假设linesize参数设置为300,而某行数据与该行所有分隔符字符总数为200,则该行尾随空格数为100,设置为ON(开启),可以将此类空格删除,减小导出文件大小,提高文件导出速度。
set termout <on|off>:
屏幕是否显示查询数据;默认值ON
设置OFF(关闭,文本文件执行SQL方生效),在导出大量数据时,可以显著提高导出文件的速度。
spool <[文件路径+]文件名>:
spool设置导出文件的完整的路径(包含文件名);以独占方式打开文件。在文件不存在时,自动创建该文件,并打开;文件存在时,打开该文件。该处打开文件均以独占方式打开,已存在的文件都将被覆盖(原数据将丢失)。
<数据库查询语句>:
要导入文件的数据的查询语句;必须以分号结尾此处为数据库查询语句,避免使用colsep参数,提高导出性能,建议在此处对导出数据做格式转换。如:SELECT t.OWNER || ',' || t.TABLE_NAME FROM DBA_TABLES t;
文本文件执行该语句或该文件,settermout off命令方生效
spool off:
关闭spool语句,即关闭导出的文件结束导出操作,关闭导出文件。导出完成



分享到:
评论

相关推荐

    Oracle_spool_用法详解

    Oracle_spool_用法详解,帮助你掌握和熟练使用spool脚本

    Linux定时任务Crontab详解

    Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍能记住了,关键是要记住/var/spool/cron这个目录。下面看一下...

    Linux定时任务Crontab详解(推荐)

    Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。...

    crontab用法详解

    现在该文件已经提交给cron进程,同时,新创建文件的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名(即,dave)。 列出crontab文件 为了列出crontab文件,可以用: $crontab -l 编辑crontab文件 如果...

    linux 定时任务详解

    习惯了使用 windows 的计划任务,使用 linux 中的 ...每个用户的定时任务可以在 /var/spool/cron/crontabs/ 目录下查询到。 需要使用root权限才能进入这个目录。每个以用户名命名的文件中记录着该用户的定时任务。 注

    linux中了minerd之后的完全清理过程(详解)

    一不小心装了一个Redis服务,开了一个全网的默认端口,一开始以为这...sudo rm /var/spool/cron/root sudo rm /var/spool/cron/crontabs/root 3.知己知彼,百战不殆,研究病毒的初始话文件 export PATH=$PATH:/bin:/us

    入门学习Linux常用必会60个命令实例详解doc/txt

    入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不...

    oracle导出sql语句的结果集和保存执行的sql语句(深入分析)

    您可能感兴趣的文章:MySQL中在查询结果集中得到记录行号的方法PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解sql 查询记录数结果集某个区间内记录JavaWeb dbutils执行sql命令并遍历结

    DM 的命令行交互式工具 DIsql

    3.3用 SET 命令设置环境变量详解 13 3.4SHOW 命令查看环境变量 22 4DISQL 常用命令 23 4.1帮助 HELP 23 4.2输出文件 SPOOL 23 4.3切换到操作系统命令 HOST 24 4.4获取对象结构信息 DESCRIBE 24 4.5定义本地变量 ...

    详解Linux下crontab的使用与注意事项

    crontab是一个用于设置...然后自动写入/var/spool/cron/usename 用户控制文件 /etc/cron.allow : 将可以使用crontab的用户写入,仅该文件内的用户可以使用crontab,相当于白名单 /etc/cron.deny : 将禁止使用cronta

    Linux定时执行任务at和crontab命令详解

    at类似打印 进程,会把任务放到/var/spool/at目录中,到指定时间运行它 。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。at now + time命令可以在指示任务。 假设处理...

Global site tag (gtag.js) - Google Analytics