关闭

shell调用各种sqlplus用法

标签: shell
1441人阅读 评论(0) 收藏 举报
分类:
一、最简单的shell里调用sqlplus.
$ vi test1.sh
#!/bin/bash
sqlplus -S /nolog > result.log < set heading off feedback off pagesize 0 verify off echo off
conn u_test/iamwangnc
select * from tab;
exit
EOF
$ chmod +x test1.sh
$ ./test1.sh
二、把sqlplus执行结果传递给shell方法一
注意sqlplus段使用老板键`了, 赋变量的等号两侧不能有空格.
$ vi test2.sh
#!/bin/bash
VALUE=`sqlplus -S /nolog < set heading off feedback off pagesize 0 verify off echo off numwidth 4
conn u_test/iamwangnc
select count(*) from tab;
exit
EOF`
if [ "$VALUE" -gt 0 ]; then
        echo "The number of rows is $VALUE."
        exit 0
else
        echo "There is no row in the table."
fi
$ chmod +x test2.sh
$ ./test2.sh
三、把sqlplus执行结果传递给shell方法二
注意sqlplus段使用 col .. new_value .. 定义了变量并带参数exit, 然后自动赋给了shell的$?
$ vi test3.sh
#!/bin/bash
sqlplus -S /nolog > result.log < set heading off feedback off pagesize 0 verify off echo off numwidth 4
conn u_test/iamwangnc
col coun new_value v_coun
select count(*) coun from tab;
exit v_coun
EOF
VALUE="$?"
echo "The number of rows is $VALUE."
$ chmod +x test3.sh
$ ./test3.sh
四、把shell程序参数传递给sqlplus
$1表示第一个参数, sqlplus里可以直接使用, 赋变量的等号两侧不能有空格不能有空格.
$ vi test4.sh
#!/bin/bash
NAME="$1"
sqlplus -S u_test/iamwangnc < select * from tab where tname = upper('$NAME');
exit
EOF
$ chmod +x test4.sh
$ ./test4.sh ttt
五、为了安全要求每次执行shell都手工输入密码
$ vi test5.sh
#!/bin/bash
echo -n "Enter password for u_test:"
read PASSWD
sqlplus -S /nolog < conn u_test/$PASSWD
select * from tab;
exit
EOF
$ chmod +x test5.sh
$ ./test5.sh
六、为了安全从文件读取密码
对密码文件设置权限, 只有用户自己才能读写.
$ echo 'iamwangnc' > u_test.txt
$ chmod g-rwx,o-rwx u_test.txt
$ vi test6.sh
#!/bin/bash
PASSWD=`cat u_test.txt`
sqlplus -S /nolog < conn u_test/$PASSWD
select * from tab;
exit
EOF
$ chmod +x test6.sh
$ ./test6.sh
--End--

0
0
查看评论

shell 与 sqlplus 交互

shell 与 sqlplus 交互 1、简单shell调用sqlplus 编写脚本 [oracle@localhost oracle_script]$ vimtest1.sh #!/bin/bash # user env source ~/.bash_profile sq...
  • java3344520
  • java3344520
  • 2012-01-16 16:27
  • 14154

shell 调用 sqlplus 各种情况示例

shell 调用 sqlplus 各种情况示例 测试平台:RHEL4.5 一、最简单的shell里调用sqlplus. $ vi test1.sh #!/bin/bash sqlplus -S /nolog > result.log set heading o...
  • lixiaohuiok111
  • lixiaohuiok111
  • 2014-06-19 17:46
  • 534

sqlplus 与 shell 结合--shell中执行sql 脚本

su - oracle 使用oracle 用户执行[oracle@dba ~]$ cat a.sh #!/bin/bash TAB=empsqlplus -s scott/tiger << EOF | awk 'NR != 1 && $2 ~ /S.*T/{p...
  • fxyfdf
  • fxyfdf
  • 2017-03-02 19:17
  • 490

sqlplus传递参数shell

网上找到sqlplus提供参数给shell方法: 1.sqlplus内部输出值 [oracle@jumper oracle]$ cat a.sh sqlplus -S "/ as sysdba" set heading off col today noprint column ...
  • huaishu
  • huaishu
  • 2015-05-14 11:05
  • 994

shell调用sqlplus

<br />一、最简单的shell里调用sqlplus.<br />$ vi test1.sh<br />#!/bin/bash<br />sqlplus -S /nolog > result.log <<EOF<br />...
  • l106439814
  • l106439814
  • 2011-05-27 18:19
  • 2290

Shell-sqlplus循环调用

count=0 while [ $count -lt $1 ] do count=`expr $count + 1` sqlplus -s kin/kin @name.sql sleep 1 done
  • kingston001
  • kingston001
  • 2012-12-06 13:19
  • 1494

java代码中调用执行shell脚本,sqlldr导数与使用sqlplus在shell调用执行存储过程

  • 2014-11-19 15:27
  • 3KB
  • 下载

shell调用各种sqlplus用法

一、最简单的shell里调用sqlplus. $ vi test1.sh #!/bin/bash sqlplus -S /nolog > result.log conn u_test/iamwangnc select * from tab; exit EOF $ chmod ...
  • liqfyiyi
  • liqfyiyi
  • 2012-03-29 10:54
  • 1441

Sqlplus里如何调用Shell脚本?待整理

自己封装的一个shell脚本,关键是如何调用呢?求助!#!/bin/sh function createOracleInstance(){ tableSpace=$1 tempTableSpace=${tableSpace}"_temp" dataTab...
  • huangbaokang
  • huangbaokang
  • 2017-08-17 14:14
  • 239

shell调用sqlplus各种实例

测试平台:RHEL4.5<br /><br />一、最简单的shell里调用sqlplus.<br /><br />$ vi test1.sh<br /><br />#!/bin/bash<br />sqlplus ...
  • mashengwang
  • mashengwang
  • 2011-01-04 16:11
  • 1779
    个人资料
    • 访问:2431219次
    • 积分:22176
    • 等级:
    • 排名:第394名
    • 原创:158篇
    • 转载:639篇
    • 译文:1篇
    • 评论:52条
    最新评论