当前位置:  数据库>oracle

Linux/Unix shell 参数传递到SQL脚本

    来源: 互联网  发布时间:2017-05-18

    本文导语: 在数据库运维的过程中,Shell 脚本在很大程度上为运维提供了极大的便利性。而shell 脚本参数作为变量传递给SQL以及SQL脚本也是DBA经常碰到的情形之一。本文主要讨论了如何将shell脚本的参数传递到SQL脚本之中并执行SQL查询。 有...

在数据库运维的过程中,Shell 脚本在很大程度上为运维提供了极大的便利性。而shell 脚本参数作为变量传递给SQL以及SQL脚本也是DBA经常碰到的情形之一。本文主要讨论了如何将shell脚本的参数传递到SQL脚本之中并执行SQL查询。

有关shell与SQL之间的变量传递,请参考:  Linux/Unix shell sql 之间传递变量

1、启动sqlplus时执行脚本并传递参数

robin@SZDB:~/dba_scripts/custom/awr> more tmp.sh
#!/bin/bash

# ----------------------------------------------
#  Set environment here
#  Author : Robinson Cheng
#  Blog  : http://blog.csdn.net/robinson-0612
# ----------------------------------------------

if [ -f ~/.bash_profile ]; then
    . ~/.bash_profile
fi

if [ -z "${1}" ] || [ -z "${2}" ] || [ -z "${3}" ] ;then
    echo "Usage: "
    echo "      `basename $0` "
    read -p "please input begin ORACLE_SID:" ORACLE_SID
    read -p "please input begin date and time(e.g. yyyymmddhh24):" begin_date
    read -p "please input end date and time(e.g. yyyymmddhh24):" end_date
else
    ORACLE_SID=${1}
    begin_date=${2}
    end_date=${3}
fi

export ORACLE_SID begin_date end_date

#Method 1: pass the parameter to script directly after script name
sqlplus -S gx_adm/gx_adm @/users/robin/dba_scripts/custom/awr/tmp.sql $begin_date $end_date

exit

robin@SZDB:~/dba_scripts/custom/awr> more tmp.sql
SELECT snap_id, dbid, snap_level
  FROM dba_hist_snapshot
 WHERE TO_CHAR (begin_interval_time, 'yyyymmddhh24') = '&1'
      AND TO_CHAR (end_interval_time, 'yyyymmddhh24') = '&2';
exit;


    
 
 

您可能感兴趣的文章:

  • 请问在 LINUX下如何编辑脚本(可以直接运行脚本访问WINDOW系统)
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • Linux下如何编写脚本文件
  • 关于linux的脚本运行。。。求高人指点
  • linux重新启动后自动运行脚本程序
  • 谁能简单介绍一下LINUX上的各种语言脚本的功能.
  • linux shell脚本
  • 请问关于linux脚本的一个问题。
  • LINUX的系统管理脚本
  • Linux脚本
  • linux脚本中命令运行结果判断
  • 求助:linux脚本语言写SQL语句
  • window下通过ftp执行linux脚本?
  • 如何在Linux下使用脚本实现程序的自动重启!望各位详解!
  • 求linux下定时重启服务的脚本
  • linux shell脚本无法改变环境变量
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • 求助:Linux 脚本如何提取MAC地址
  • 请教斑竹,在linux下怎么执行位于其他机器上的脚本
  • 一个关于Linux脚本参数传递的问题
  • 请问如何在linux (redhat)下传递一维数组指针?
  • linux用户空间到内核空间数据传递
  • linux驱动中probe函数中参数传递问题?
  • linux 2.4.0中do_signal参数传递问题,请大牛来解答
  • linux下JNI给JAVA传递中文的问题
  • 关于linux命令行参数传递的问题
  • 如何在C中调用linux shell脚本并传递参数?
  • Linux系统调用的参数传递方式
  • linux管道参数传递的问题-APUE上的例子中的疑问
  • LINUX编程关于文件描述符和FILE *指针可否从一个进程传递给另一个进程的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下curl的下载,安装以及curl命令的详细参数,用法介绍
  • 如何实现linux下ant调用sh(带输入参数),参数自动填入并执行sh
  • linux下top命令详解包括top命令参数使用及结果(virt,res,shr)排序举例说明
  • Linux0.11 内核源码 main函数的参数问题
  • linux/centos源码安装nginx编译配置选项参数介绍
  • linux的shell的参数个数限制
  • linux命令后的参数问题
  • 关于linux命令参数顺序的问题
  • 【请教】怎么修改linux内核参数
  • linux下什么语言获得参数是~1
  • linux里面有没有记录I/O访问率的参数?
  • linux makefile中几个参数问题
  • Linux Oracle RAC内核参数
  • 请问Redhat linux的nash中mount 的参数?
  • linux 下用make 命令, 为什么不用加参数
  • 请问:linux下如何将一个类的指针作为参数传给pthread_create创建的线程?
  • linux命令默认参数问题
  • 因为修改了屏幕的参数,linux redhat9进不去了
  • 如果linux下的C语言中嵌入汇编成程序,GCC需要什么样的参数?
  • ARM linux如何处理启动参数地址存放寄存器R2
  • linux 环境下有什么工具可以得到C函数的用法和参数的意义?????????我很想学LINUX
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,