首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux/Unix shell sql 其间传递变量

2013-03-26 
Linux/Unix shell sql 之间传递变量灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA

Linux/Unix shell sql 之间传递变量

       灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考。

       Linux/Unix 下调用SQL,RAMN 请参考:Linux/Unix shell 脚本中调用SQL,RMAN脚本

一、示例

1、shell变量接受sql返回值之方式一oracle@SZDB:~> more ./retval.sh#!/bin/bashRETVAL=`sqlplus -silent scott/tiger <<EOFSET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFFSELECT * FROM emp WHERE ename='SCOTT';EXIT;EOF`if [ -z "$RETVAL" ]; then  echo "No rows returned from database"  exit 0else  echo $RETVALfioracle@SZDB:~> chmod u+x retval.shoracle@SZDB:~> ./retval.sh7788 SCOTT ANALYST 7566 19-APR-87 34171.88 202、shell变量接受sql返回值之方式二oracle@SZDB:~> more ./retval_2.sh#!/bin/bash# Author : Robinson Cheng # Blog   : http://blog.csdn.net/robinson_0612sqlplus -S "scott/tiger" <<EOFSET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFFcol cnt new_value v_cntSELECT count(*) cnt FROM emp WHERE deptno=10;exit v_cntEOFVALUE="$?"echo "show rows for deptno 10:$VALUE"3、将shell变量作为参数传递给sql脚本oracle@SZDB:~> more ./retval_3.sh#!/bin/bashv_empno="$1"sqlplus -S "scott/tiger" <<EOFSET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFFSELECT ename FROM emp WHERE empno=$v_empno;exitEOFexitoracle@SZDB:~> ./retval_3.sh 7788SCOTT

二、更多参考 

有关基于用户管理的备份和备份恢复的概念请参考

    Oracle 冷备份

    Oracle 热备份

    Oracle 备份恢复概念

    Oracle 实例恢复

    Oracle 基于用户管理恢复的处理(详细描述了介质恢复及其处理)

    SYSTEM 表空间管理及备份恢复

    SYSAUX表空间管理及恢复

   Oracle 基于备份控制文件的恢复(unsing backup controlfile)

 

有关RMAN的备份恢复与管理请参考

    RMAN 概述及其体系结构

    RMAN 配置、监控与管理

    RMAN 备份详解

    RMAN 还原与恢复

    RMAN catalog 的创建和使用

    基于catalog 创建RMAN存储脚本

    基于catalog 的RMAN 备份与恢复

    RMAN 备份路径困惑(使用plus archivelog时)

 

有关ORACLE体系结构请参考

    Oracle 表空间与数据文件

    Oracle 密码文件

    Oracle 参数文件

    Oracle 联机重做日志文件(ONLINE LOG FILE)

    Oracle 控制文件(CONTROLFILE)

    Oracle 归档日志

    Oracle 回滚(ROLLBACK)和撤销(UNDO)

    Oracle 数据库实例启动关闭过程

    Oracle 10g SGA 的自动化管理

    Oracle 实例和Oracle数据库(Oracle体系结构)       


我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

热点排行