陈奇网络工作室

Linux/Unixshell参数传递到结构化查询语言脚本

系统运维

在数据库运维的过程中,外壳脚本在很大程度上为运维提供了极大的便利性。而壳脚本参数作为变量传递给结构化查询语言以及结构化查询语言脚本也是工商管理学博士(工商管理博士)经常碰到的情形之一。本文主要讨论了如何将壳脚本的参数传递到结构化查询语言脚本之中并执行结构化查询语言查询。

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

robin @ SZDB:~/DBA _ scripts/custom/awr更多tmp。嘘

#!/bin/bash

# ———————————————-

#在此设置环境

#作者:罗宾逊程

# ———————————————-

if [ -f ~/.bash _ profile];然后。~/.bash_profile

船方不负担装货费用

if[-z ' $ { 1 } ']| |[-z ' $ { 2 } ']| |[-z ' $ { 3 } '];然后

“回声”用法:"

echo ' ` basename $ 0 ` ORACLE _ SID begin _ dat end _ date '

'读-p '请输入开始ORACLE_SID:' ORACLE_SID

'读-p '请输入开始日期和时间(例如yyyymmddhh34):'开始日期

'读-p '请输入结束日期和时间(例如yyyymmddhh34):'结束日期

其他

ORACLE_SID=${1}

begin_date=${2}

结束日期=${3}

船方不负担装货费用

导出ORACLE_SID开始日期结束日期

#方法1:直接在脚本名称后将参数传递给脚本

sqlplus-S GX _ ADM/GX _ ADM @/用户/罗宾/DBA _ scripts/custom/awr/tmp。SQL $ begin _ date $ end _ date

出口

robin @ SZDB:~/DBA _ scripts/custom/awr更多tmp。结构化查询语言

选择快照id、dbid、快照级别

来自数据库管理员历史快照

WHERE TO _ CHAR(begin _ interval _ time,' yyyymmddhh34')='1 '

以及TO_CHAR (end_interval_time,' yyyymmdd hh 34 ')=' 2 '

退出;

2、在结构化查询语言提示符下传递参数

robin @ SZDB:~/DBA _ scripts/custom/awr更多tmp 2。嘘

#!/bin/bash

# ———————————————-

#在此设置环境

#作者:罗宾逊程

# ———————————————-

if [ -f ~/.bash _ profile];然后。~/.bash_profile

船方不负担装货费用

if[-z ' $ { 1 } ']| |[-z ' $ { 2 } ']| |[-z ' $ { 3 } '];然后

“回声”用法:"

echo ' ` basename $ 0 ` ORACLE _ SID begin _ dat end _ date '

'读-p '请输入开始ORACLE_SID:' ORACLE_SID

'读-p '请输入开始日期和时间(例如yyyymmddhh34):'开始日期

'读-p '请输入结束日期和时间(例如yyyymmddhh34):'结束日期

其他

ORACLE_SID=${1}

begin_date=${2}

结束日期=${3}

船方不负担装货费用

导出ORACLE_SID开始日期结束日期

#方法2:在结构化查询语言提示符下传递参数。使用与方法一相同的方法

sqlplus -S '/as sysdba' EOF

@/users/robin/DBA _ scripts/custom/awr/tmp。SQL$begin _ date$end _ date

退出;

文件结束

出口

3、通过定义变量的方式来传递参数

robin @ SZDB:~/DBA _ scripts/custom/awr更多tmp 3。嘘

#!/bin/bash

# ———————————————-

#在此设置环境

#作者:罗宾逊程

# ———————————————-

if [ -f ~/.bash _ profile];然后。~/.bash_profile

船方不负担装货费用

if[-z ' $ { 1 } ']| |[-z ' $ { 2 } ']| |[-z ' $ { 3 } '];然后

“回声”用法:"

echo ' ` basename $ 0 ` ORACLE _ SID begin _ dat end _ date '

'读-p '请输入开始ORACLE_SID:' ORACLE_SID

'读-p '请输入开始日期和时间(例如yyyymmddhh34):'开始日期

'读-p '请输入结束日期和时间(例如yyyymmddhh34):'结束日期

其他

ORACLE_SID=${1}

begin_date=${2}

结束日期=${3}

船方不负担装货费用

导出ORACLE_SID开始日期结束日期

#方法3:首先将参数传递给全局变量。

sqlplus -S '/as sysdba' EOF

定义开始日期=$begin_date

定义结束日期=$结束日期

提示"开始日期的变量值为:开始日期"

提示"结束日期标识的变量值:结束日期"

@/users/robin/DBA _ scripts/custom/awr/tmp 3。SQL开始日期结束日期

退出;

文件结束

出口

robin @ SZDB:~/DBA _ scripts/custom/awr更多tmp 3。结构化查询语言

选择快照id、dbid、快照级别

来自数据库管理员历史快照

WHERE TO _ CHAR(begin _ interval _ time,' yyyymmddhh34')='begin_date '

以及TO_CHAR (end_interval_time,' yyyymmdd hh 34 ')=' end _ date '

退出;

4、测试脚本

robin @ SZDB:~/DBA _ scripts/custom/awr ./tmp.sh

用法:

tmp。sh ORACLE _ SID开始日期结束日期

请输入begin ORACLE_SID:CNMMBO

请输入开始日期和时间(如yyyymmddh 34):2013030709

请输入结束日期和时间(如yyyymmddh 34):2013 03 07 10

快照ID DBID快照级别

———- ———- ———-

13877 938506715 1

robin @ SZDB:~/DBA _ scripts/custom/awr ./tmp 2。上海MMBOTST 2013 03 07 09

快照ID DBID快照级别

———- ———- ———-

36262 3509254984 1

robin @ SZDB:~/DBA _ scripts/custom/awr ./tmp 3。上海MMBOTST 2013 03 07 10

开始日期的变量值为:2013030710 '

'结束日期身份证明(identification)的变量值:2013030711 '

快照ID DBID快照级别

———- ———- ———-

36263 3509254984 1

5、小结

答:本文主要描述了将壳的参数传递给结构化查询语言脚本

乙、方式一的用法是直接将壳变量跟在脚本之后,sqlplus userid/pwd @ script _ name $ para 1 $ para 2

丙、方式2是启动sqlplus后在结构化查询语言提示符下来传递参数,SQL @ script _ name$para 1$para 2

d、方式3则是将壳变量的值先传递给规定定义的变量,然后再传递给结构化查询语言脚本SQL@script_name var1 var2

e、注意方式3中结构化查询语言脚本的替代变量与规定定义的变量名相同

神谕视频教程请关注:http://u .优酷。com/user _ video/id _ umzazmjkxmje 2。超文本标记语言

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3