脚本如下,已验证可用,可配合crontab使用。
1 #!/bin/bash cd /opt/oracle/datafor_kf #redirect environment variables
source /opt/oracle/.bash_profile #timestamp:YYYYmmdd
fdate=`date +%Y%m%d` localGtFile="tcm_local_gtt_list_$fdate.txt"
allGtFile="tcm_all_gtt_list_$fdate.txt"
ecFile="tcm_ec_smsc_server_$fdate.txt"
spFile="tcm_sp_smsc_server_$fdate.txt" #login
/opt/oracle/app/oracle/product/12.2./dbhome_1/bin/sqlplus uid/pwd@hostname:port/db<<EOF
SET echo off
SET feedback off
SET newpage none
SET pagesize
SET linesize
SET verify off
SET term off
SET trims ON
SET heading off
SET trimspool ON
SET trimout ON
SET timing off --tcm_local_gtt_list
spool "/home/ftp_kf/$localGtFile"
SELECT province||','||busi_city||','||area_code||','||gt||','||bel_hlr||','||spc||','||ser_type from TCM_GMSCSERVER_GT;
spool off --tcm_all_gtt_list
spool "/home/ftp_kf/$allGtFile"
--used
SELECT province||','||busi_city||','||area_code||','||start_gt from TCM_CMCC_DATA_JT;
--test
--SELECT province||','||busi_city||','||area_code||','||start_gt from TCM_CMCC_DATA_JT where start_gt='';
spool off --tcm_ec_smsc_server
spool "/home/ftp_kf/$ecFile"
--used
SELECT SERVER_CODE||','||EC_NAME||','||MAIN_ACCESS_ADDR||','||'hy' type from HY_SMGATE;
--test
--SELECT SERVER_CODE||','||EC_NAME||','||MAIN_ACCESS_ADDR||','||'hy' type from HY_SMGATE where SERVER_CODE='';
spool off --tcm_sp_smsc_server
spool "/home/ftp_kf/$spFile"
SELECT SERVER_CODE||','||SP_CONTENT_NAME||','||MAIN_ACCESS_ADDR from TCM_SP_NETGATE;
spool off exit
EOF #del line where it start by 'SQL'
/bin/sed -i '/SQL/d' $localGtFile
/bin/sed -i '/SQL/d' $allGtFile
/bin/sed -i '/SQL/d' $ecFile
/bin/sed -i '/SQL/d' $spFile #del file before today
/bin/find /home/ftp_kf/* -mtime +1 -exec rm {} \;

Linux sh脚本用spool导出oracle数据库指定表表数据的更多相关文章

  1. PL/SQLDeveloper导入导出Oracle数据库方法

    前一篇博客介绍了Navicat工具备份Oracle的方法,这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...

  2. [转]PL/SQLDeveloper导入导出Oracle数据库方法

    原文地址:http://www.2cto.com/database/201405/305452.html 1.Oracle数据库导出步骤 1.1 Tools→Export User Objects.. ...

  3. PL/SQL Developer导入导出Oracle数据库方法

    前一篇博客介绍了Navicat工具备份Oracle的方法.这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...

  4. 通过命令窗口导入导出oracle数据库到dmp文件

    通过命令窗口导入导出oracle数据库到dmp文件 很多时候我们需要备份Oracle的数据库,然后将数据导入其他数据库,因为有大文本字段会导致insert无法完全导出,只能导出为dmp文件,前提是wi ...

  5. 使用exp/imp 在oracle数据库间导数据

    最近工作需要将oracle数据库的表数据导出到另一个oracle数据库表,找到了oracle 自带的命令行,并记录下导数据过程. 导数据过程分以下几步: 假设源数据库为A,目标数据库为B 1.在B上通 ...

  6. Oracle数据库间的数据复制 - SQLPlus中的COPY命令

    Copy命令可以实现不同Oracle数据库间的数据的复制,也是可以实现同一数据库的数据复制,其性能表现和导入/导出相同. 根据9i文档,说Copy命令未来会不支持,但实际上Oracle 11g仍然支持 ...

  7. 将Oracle数据库中的数据写入Excel

    将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...

  8. 向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

    向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例Use ...

  9. Oracle数据库中的数据出错的解决办法

    http://www.jcwcn.com/article/database/oracle/ 今天上班犯了一个严重的错误:把我们系统所使用的Oracle数据库中的数据给改掉了!当发现自己改错时,顿时冒了 ...

随机推荐

  1. Redis连接池-Java代码

    1.JedisUtil类 2.测试类 3.测试日志(模拟出现竞争情况) import org.apache.log4j.Logger; import redis.clients.jedis.Jedis ...

  2. SpringBoot -> @Import使用

    @Import 注解出自spring-context包中 package org.springframework.context.annotation; import java.lang.annota ...

  3. layer.open打开一个新的jsp页面,如何关闭并刷新父页面问题

    layer.open打开一个新的jsp页面弹框,如何关闭呢? 在新的页面提交完毕之后,关闭并刷新父页面列表. layer.closeAll(); parent.layer.closeAll(); wi ...

  4. thymeleaf常用配置说明

    #spring.thymeleaf.cache = true #启用模板缓存. #spring.thymeleaf.check-template = true #在呈现模板之前检查模板是否存在. #s ...

  5. linux 查看文件大小命令

    1.# ls -l (k) ls -l total -rw-r----- root root Oct : catalina.--.log -rw-r----- root root Oct : cata ...

  6. TensorFlow基本计算单元与基本操作

    在学习深度学习等知识之前,首先得了解著名的框架TensorFlow里面的一些基础知识,下面首先看一下这个框架的一些基本用法. import tensorflow as tf a = 3 # Pytho ...

  7. 二 mysql库表的详细操作

    目录 1.库操作 1.创建数据库 2.数据库相关操作 2.表操作 1.存储引擎 2.表介绍 3.创建表 4.查看表结构 5.MySQL的基础数据类型 6.表的完整性约束 7.修改表 alter tab ...

  8. 【DP合集】合并 union

    给出一个 1 ∼ N 的序列 A ( A 1 , A 2 , ..., A N ) .你每次可以将两个相邻的元素合并,合并后的元素权值即为 这两个元素的权值之和.求将 A 变为一个非降序列,最少需要多 ...

  9. Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 10.x

    运行Reac项目报: Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js ...

  10. docker的使用 一容器命令

    Docker容器命令 前提 执行容器的前提是有镜像 . #创建并启动容器 docker run [options] images [command][args] // option 的说明 --nam ...