如果想在服务器端生成sql查询结果的txt文件。

大体思路就是:

1.创建一个到处txt文件的sql脚本。

  1. set ARRAYSIZE 50 --从数据库往客户端一次发送记录数
  2. set linesize 100 --一行的字符数
  3. SET PAGESIZE 0 --设置不分页
  4. set timing off --关闭显示sql执行时间
  5. set heading off --不显示每行的列名
  6. set feedback off --回显本次sql命令处理的记录条数,缺省为on
  7. SET TRIMOUT ON --去除标准输出每行的拖尾空格,缺省为off
  8. set trimspool on --去除重定向(spool)输出每行的拖尾空格,缺省为off
  9. set termout off --显示脚本中的命令的执行结果,缺省为on
  10.  
  11. define r_filename=&1 --定义导出文件路径和文件名
  12. spool &r_filename;
  13. select empno||','||ename from emp;
  14. spool off;

2.创建一个shell脚本调用写好的sql脚本。

  1. #! /bin/bash
  2.  
  3. START_TIME=`date +%Y%m%d%H%M%S`
  4. TIMESTAMP=`date +%Y%m%d%H%M%S`
  5.  
  6. DB_USER="apps/apps@orcl.net"
  7. FILE_PATH=$HOME/temp
  8. FILE_NAME=tt$TIMESTAMP.txt
  9. SQL_FILE=$HOME/sql/tt.sql
  10.  
  11. echo 'Start time is: '$TIMESTAMP
  12. echo 'SQL file is: '$SQL_FILE
  13. echo 'OUT file is: '$FILE_NAME
  14. echo 'File full path is: '$FILE_PATH/$FILE_NAME
  15.  
  16. sqlplus -S $DB_USER @$SQL_FILE $FILE_PATH/$FILE_NAME
  17.  
  18. if [ -r $FILE_PATH/$FILE_NAME ]; then
  19. echo "$FILE_NAME create success"
  20. else
  21. echo "$FILE_NAME create fail"
  22. exit 1
  23. fi
  24.  
  25. END_TIME=`date +%Y%m%d%H%M%S`
  26. echo 'End time is: '$END_TIME

3.可以创建一个linux的定时任务,定时调用如上shell脚本。

  1)先创建一个定时任务列表的文件,oraclecron

  

  1. #分 时 日 月 星期 命令完全路径
    #这条命令表示每个15分钟调用一次/home/oracle/myShell/ttt
  2. 15,30,45,0 * * * * /home/oracle/myShell/ttt

  2)把这个定时任务添加到系统crontab列表

  1. crontab oraclecron

  3)可以用如下命令查看系统crontab任务,如果看到你在oraclecron文件中添加的任务就OK了。

  1. crontab -l

4.从定时任务添加成功后,每逢整刻钟系统就会掉用 2 中创建的shell脚本,2 的shell脚本调用 1 的sql脚本。

  最终生成一个文件在oracle服务器上。

linux 定时导出sql查询结果文件的更多相关文章

  1. Oracle导入导出.sql、.dmp文件

    Oracle导出导入表(.sql..dmp文件)两种方法 提示:在导入sql和dmp文件之前,先建立用户,指明表空间.其中要注意用户名和表空间最好跟sql文件中的一样. 建表空间授权参考 :http: ...

  2. linux 定时执行sql

    说明: 放执行脚本的路径是: /home/vagrant/ssh 文件夹结构: /home |_ vagrant |__ ssh |___ move_order_old_data.sh |___ mo ...

  3. 远程linux服务器mysql数据库导入和导出.sql文件

    大部分情况本地开发环境为windows,部署的服务器为Linux,本地数据库导出.sql文件后需要远程导入服务器,具体如下. 首先连接服务器,即服务器ip,协议,端口,用户名及密码,可以通过ftp客户 ...

  4. linux创建定时任务,定时执行sql

    终于弄清楚一个问题了.linux创建定时任务,定时执行sql,其中分为两个case. case-1 sql语句较少,因此直接在 shell脚本中 写sql语句.如下: [oracle@Oracle11 ...

  5. 一、SQL系列之~使用SQL语言导出数据及实现定时导出数据任务

    一般情况下,SQL数据库中带有导入与导出数据的直接按键操作,点击数据表所在的数据库--任务--导出/导入数据,根据导入/导出向导直接将数据导出即可. 但导出的数据格式多为Excel格式,如果需要导出的 ...

  6. mysql 导入导出.sql文件

    备份数据库(包含全部表和全部存储过程):C:\Documents and Settings\Administrator>mysqldump -h localhost -u root -p -R ...

  7. 如何在 Linux 上用 SQL 语句来查询 Apache 日志

    Linux 有一个显著的特点,在正常情况下,你可以通过日志分析系统日志来了解你的系统中发生了什么,或正在发生什么.的确,系统日志是系统管理员在解决系统和应用问题时最需要的第一手资源.我们将在这篇文章中 ...

  8. 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客 ...

  9. navicat里导入和导出.sql文件

    一:Navicat导入MySQL的.sql文件. 打开连接connection,选择你要导入的数据库,双击打开(或者新建一个),然后右键该数据库,选"运行批次任务文件(execute sql ...

随机推荐

  1. OpenXml SDK学习笔记(1):Word的基本结构

    能写多少篇我就不确定了,可能就这一篇就太监了,也有可能会写不少. OpenXml SDK 相信很多人都不陌生,这个就是管Office一家的文档格式,Word, Excel, PowerPoint等都用 ...

  2. feign微服务调用携带浏览器信息(header、cookie)

    import feign.RequestInterceptor; import feign.RequestTemplate; import org.apache.commons.collections ...

  3. 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率. 上一篇文章 <聊聊i.MXRT1xxx上的普通GPIO与高速GP ...

  4. Java学习(十四)

    玩云顶连跪一晚上,搞得心态有点崩了... 源计划5-4还是一星vn,吐了. 今天学习了伪元素: 语法是 :first-letter//元素的第一个字母的位置,如果:前不加元素,默认是#(即所有元素) ...

  5. 美化CMD

    配置 Windows Terminal 的步骤 前提:在微软商店下载两个软件 Windows Terminal PowerShell(因为最好使用 PowerShell7 ,否则以下命令可能执行不了) ...

  6. jmeter ssh command方式执行hive指令

    Hive命令执行 打开任意一个安装了hive的服务器,进入hive bin 路径,可以看到存在以下文件(仅展示部分): -rwxr-xr-x 1 root root 1297 Jun 28 14:29 ...

  7. JSOI2021 酱油记

    Day -24 - 2021.3.16 终于停课了(bushi)-- 稍微规划了下省选前听课的日程,大约周二(3.16)请一天,周四(3.18)请一天,周五(3.19)请半天?月考正常考,月考完请两周 ...

  8. DIA技术及其软件工具介绍

    前言 关于蛋白质组学,你是不是已经听了太多公司的宣讲,介绍了一大堆的技术名词,反而越听越懵懂,脑袋一团乱麻?就和传话游戏一样,当我们接收了多手信息以后,得到的信息就越不准确.那么,何不自己看一看第一手 ...

  9. C++栈溢出

    先看一段代码 #include<iostream> using namespace std; #define n 510 void sum(int a,int b) { cout<& ...

  10. python2 第二天

    requests库 编码和解码 输入和输出,在Python中,为了更好的调试和输出,我们需要对字符串进⾏格式化的输出,⽐如我们定义了姓名和年龄,但是我 们需要输出完整的信息,那么就涉及到字符串格式化的 ...