如果想在服务器端生成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. Java基础语法5-运算符

    运算符 基本运算符(算术.赋值.关系.逻辑等)不再赘述 位运算符 位运算符&.|.^.~.<<.>> &与 |或 ~非 ^异或 <<左移 >& ...

  2. 升级JDK8的坎坷之路

    为更好的适应JAVA技术的发展,使用更先进及前沿的技术.所以推出将我们现在使用的JDK1.6(1.7)及tomcat6(7)升级至JDK1.8及tomcat8,使我们的系统获得更好的性能,更好适应未来 ...

  3. Part 20 Create custom service in AngularJS

    Whenever the case changes from lower to upper, a single space character should be inserted. This mea ...

  4. Django笔记&教程 7-1 基于类的视图(Class-based views)介绍

    Django 自学笔记兼学习教程第7章第1节--基于类的视图(Class-based views)介绍 点击查看教程总目录 1 介绍 Class-based views (CBVs) are view ...

  5. Prometheus的监控解决方案(含监控kubernetes)

    prometheus的简介和安装 Prometheus(普罗米修斯)是一个开源系统监控和警报工具,最初是在SoundCloud建立的.自2012年成立以来,许多公司和组织都采用了普罗米修斯,该项目拥有 ...

  6. <C#任务导引教程>练习十

    /*83,使用接口完成多继承问题 简化版*/using System;interface ITeacher{    string Name    {        get;        set;   ...

  7. 使用 kubeadm 部署

    上一章中,我们用 minikube 去搭建单机集群,并且创建 Deployment.Service(在三章中讲解),本篇将介绍利用 kubeadm 部署多节点集群,并学会 安装以及使用 kuberne ...

  8. negix启动不成功

    negix启动闪退,猜测可能端口占用,查看log发现 2020/11/30 11:38:40 [emerg] 15632#8688: CreateFile() "F:\项目工具\nginx- ...

  9. CentOS7部署ceph

    CEPH 简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph ...

  10. 华为云企业级Redis评测第一期:稳定性与扩容表现

    摘要:采用Redis Labs推出的多线程压测工具memtier_benchmark对比测试下GaussDB(for Redis) 和原生Redis的特性差异. 本文分享自华为云社区<华为云企业 ...