1.需求说明
查询特定表(含条件),并把其结果集(一千多万的数据)进行导出。

2.使用技术就是spool,代码如下:

spool /user/result.txtselect phone from t_mt where state_true='0';spool off

其中/user/result.txt 为结果集的输出文件。

3.因为需求要循环查询,就创建.sh文件,以test.sh为例,执行:vi test.sh
复制下列代码到test.sh中。

#!/bin/sh
export ORACLE_BASE=/user/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=qxt
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
#oracle字符集
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8#----脚本链接数据库----------------------
#数据库地址
db_ip=127.0.0.1
db_port=1521
db_sid=qxt
db_username=user01
db_password=121212
db_oracle_name="${db_username}/${db_password}@${db_ip}:${db_port}/${db_sid}"# 日志输出路径
logOutPath=/user/mt_data/mt.log
# 开始时间
mydate="20200701"
echo 'mydate:'$mydate
for((j=0; j<31; j++))
do# 日期加一天DATE=$(date -d "$j days ${mydate}"  +%Y%m%d)echo $(date "+%Y-%m-%d %H:%M:%S")" start date:"$DATE >> ${logOutPath}
loc2=`sqlplus -s ${db_oracle_name} << !set pages 0 feed off heading off feedback off verify off linesize 1000 trimspool on term offspool /user/mt_data/t_mt_phone_${DATE}.txtselect phone from t_mt_${DATE} where state_true='0';spool offexit;
exit
!`
echo $(date "+%Y-%m-%d %H:%M:%S")"  end date:"$DATE >> ${logOutPath}
doneecho $(date "+%Y-%m-%d %H:%M:%S")" 完成 "

说明:
db_ip:oracle数据库的ip
db_port:oracle数据库的端口号
db_sid:oracle数据库sid
db_username:oracle数据库的账号
db_password:oracle数据库的密码

spool常用的设置:
set head off:输出域标题,缺省为on
set linesize 20000:linesize可以设置的大点,防止一行长度不够
set echo off:显示sqlplus中的每个sql命令本身,缺省为on
set feedback off:回显本次sql命令处理的记录条数,缺省为on
set pagesize 0:输出每页行数,缺省为24,为了避免分页,可设定为0
set termout off:显示脚本中的命令的执行结果,缺省为on
set trimout on:去除标准输出每行的拖尾空格,缺省为off
set trimspool on:去除重定向(spool)输出每行的拖尾空格,缺省为off

4.授权执行:chmod +x test.sh

5.执行 : test.sh文件

oracle 查询数据的结果集导出相关推荐

  1. Oracle查询数据表数据很少却很慢

    Oracle查询数据表数据很少却很慢(查询空表很很耗时) 有一个表的数据我要去看一下到底数据是什么样子的,所以我就 select * from tableName 这个表.但是执行了90多秒后,没有任 ...

  2. oracle查询数据令某字段显示固定值

    oracle查询数据令某字段显示固定值 select t.tname 表名称, '固定值' as C from tab t; 注意: C字段 必须是tab表中没有的字段 mysql查询数据令某字段显示 ...

  3. linux连接oracle的日志,linux shell脚本连接oracle查询数据插入文件和日志文件中

    #!/bin/sh sqlplus "用户名/密码@数据库"< sqlplus "用户名/密码"< sqlplus -S "用户名/密码& ...

  4. VB.NET通过OleDbConnection连接oracle查询数据示例

    一.前言 1.目的 本文实现了VB.Net通过OleDbConnection连接oracle查询数据,并展示数据到TextBox1. 2.数据库版本 select * from v$version; ...

  5. 用两种不同的方法导出ORACLE 查询数据为CSV 文件 (python 代码 与 使用 utl_file 包)

    因要对客户发送一些推广邮件,需要把email导出到csv,再使用专门邮件发送软件进行发送. 在使用ORACLE 的 utl_file 包,把数据写到文件中. 看到是逐条数据写入文件.速度比较慢.所以想 ...

  6. oracle查询数据泵状态,PLSQL_数据泵导入进度查看Impdp/Expdp Status(案例)

    使用前提 EXPDP和IMPDP只可以在Oracle服务端使用. EXP导出的文件只可以使用IMP导入,不适用于IMPDP导入文件:EXPDP导出的文件只可以使用IMPDP导入,而不适用于IMP导出文 ...

  7. oracle分区表分区导出,Oracle分区表数据的导入与导出

    Oracle分区表的使用在一定程度上提高了对表数据的存储及处理性能,在查询性能和数据存储安全上体现了其特有的优势,因此很好的利用分区表,在一定程度上有利于数据库性能的优化.而Oracle分区表数据的导 ...

  8. 分区表需要数据备份吗oracle,Oracle 分区表数据的导入与导出(1)

    --**************************** -- 导入导出 Oracle 分区表数据 --**************************** 导入导入Oracle 分区表数据是 ...

  9. oracle数据泵导入分区表,Oracle 10g 数据泵分区表的导出

    Oracle 10g中数据泵支持本地导出/导入分区表的分区,但是NET_LINK不支持分区表的分区.以下为导出部分实验,导入与导出相识. 本地导出: C:\Users\xionglang>exp ...

最新文章

  1. 判断文件或文件夹(目录)是否存在 C/C++ win/linux通用
  2. EasyTransaction 1.3.0 发布,一站式分布式事务解决方案
  3. Django admin coercing to Unicode: need string or buffer, tuple found
  4. Pytorch+CNN+猫狗分类实战
  5. Unity3D之主菜单
  6. LeetCode算法题4:二分查找及扩展应用
  7. canvas绘制正文形并填充-2
  8. java cordova_java – Cordova android后台插件在5分钟后被杀死
  9. c++中STL的常用算法---2(遍历算法,查找算法)
  10. 预告:Intel、Hulu、阿里、京东、携程等大数据实战直播
  11. viewController详解
  12. 互联网项目架构经验分享
  13. [约瑟夫环]n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始... ...
  14. 读取json本地js处理输出html,JavaScript 通过浏览器导出和读取本地 JSON 文件
  15. matlab textscan 分块读取,【转】matlab的textscan与textread区别
  16. rop检查_【国际高影响力文章红毯秀7月】白内障扩瞳安全性、ROP筛查新标准、45mmHg眼内灌注压...
  17. java ppt 绘图,PPT图片别再直接插入,这样处理一下,让你的PPT秒变高逼格
  18. php+mysql系统网站,PHP+MYSQL 网址导航系统开源 网站分类目录管理系统
  19. 火焰特性识别的Matlab实现方法
  20. 核心期刊《中国兽医学报》

热门文章

  1. 启航——我的第一篇博客
  2. python time localtime()
  3. throw 和 throws 的区别
  4. Java学习星球,Java学习路线
  5. Connected to the target VM,address: ,transport: ‘socket‘
  6. PHP 7.1 新特性一览 1
  7. Android简易计算器的制作
  8. 管理订单状态,该上状态机吗?轻量级状态机COLA StateMachine保姆级入门教程
  9. 21秋期末考试个人与团队管理10257k2
  10. 给你们讲个笑话——低代码会取代程序员