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

大体思路就是:

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

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

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

#! /bin/bash

START_TIME=`date +%Y%m%d%H%M%S`
TIMESTAMP=`date +%Y%m%d%H%M%S` DB_USER="apps/apps@orcl.net"
FILE_PATH=$HOME/temp
FILE_NAME=tt$TIMESTAMP.txt
SQL_FILE=$HOME/sql/tt.sql echo 'Start time is: '$TIMESTAMP
echo 'SQL file is: '$SQL_FILE
echo 'OUT file is: '$FILE_NAME
echo 'File full path is: '$FILE_PATH/$FILE_NAME sqlplus -S $DB_USER @$SQL_FILE $FILE_PATH/$FILE_NAME if [ -r $FILE_PATH/$FILE_NAME ]; then
echo "$FILE_NAME create success"
else
echo "$FILE_NAME create fail"
exit 1
fi END_TIME=`date +%Y%m%d%H%M%S`
echo 'End time is: '$END_TIME

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

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

  

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

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

crontab oraclecron

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

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. 这些年我@yangbodong22011参与的开源

    2020年第一天,水一篇博客,对新年起码的尊重.这里记录下我参与的开源项目情况. Talk is cheap. Show me the code Linus Torvalds Jedis PR:htt ...

  2. 说Redis

    一:简单介绍 Redis(Remote Dictionary Server 远程字典服务器) key-value 内存数据库 key是一个string value可以是string,list,hash ...

  3. Java测试开发--Set、Map、List三种集合(四)

    1.集合类型主要有3种:set(集).list(列表)和map(映射). 2.三者关系 3.Set set接口是Collection接口的一个子接口,是无序的,set去重,也就是说set中不存在两个这 ...

  4. find 删除日志文件

    find 命令删除日志文件 find ./my_dir -mtime +10 -type f -delete EXPLANATIONS ./my_dir your directory (replace ...

  5. sqlalchemy delete object

    In SQL Alchemy you are deleting Objects that you get with a query from the database. This you can do ...

  6. python地理空间(1)--概念引入

    1 python与地理空间分析 1.1 与我们的生活 ushahidi是一个优秀的地理空间地图应用,回寝FQ看一下. ushahidi有一个python库-ushapy 地理空间救灾建模程序是最近比较 ...

  7. [bzoj1483]梦幻布丁

    对于每一个颜色用一个链表存储,并记录下:1.当前某种颜色的真实颜色:2.这种颜色的数量(用于启发式合并的判断):3.当前答案(即有几段),然后对于每一个操作简单处理一下就行了. 1 #include& ...

  8. [hdu6601]Keen On Everything But Triangle

    有两个结论:1.排序后,答案一定是连续的三个数:2.当序列长度超过44一定有三个相同的数(因为即使该序列是斐波那契数列,此时也超过了1e9),然后用主席树等数据结构(略卡常,建议主席树)来维护前45大 ...

  9. [atARC096F]Sweet Alchemy

    给定一棵有根树,记$f_{i}$表示$i$的父亲,每一个点有一个代价$c_{i}$ 给定常数$D$和$X$,再给每个点赋一个权值$v_{i}$($v_{i}\ge 0$),满足以下条件下最大化$\su ...

  10. [bzoj1222]产品加工

    用f[i][j]表示完成前i个任务,在A机器上加工j小时时B机器上最少要工作多小时,转移就分为三种,即$f[i][j]=min(f[i-1][j-t1],f[i-1][j]+t2,f[i-t3]+t3 ...