oracle数据库在linux系统里一般用的是oracle用户,环境变量等也是oracle用户
那么如何在root用户下写shell脚本调用oracle数据库并返回结果
只需要在你的shell脚本中加入下面的脚本即可!
# 获取oracle环境变量并在root用户中生效(暂时)
export ORACLE_HOME=$TY_ORACLE_HOME
export LD_LIBRARY_PATH=$TY_LD_LIBRARY_PATH
export NLS_LANG="$nls_lang"
export PATH=$ORACLE_HOME/bin:$LD_LIBRARY_PATH:$PATH
# 把sql写进变量loadsql中,其中sql里可以写变量
loadsql="SELECT id || ' and ' || name from ${table};"
# 有些系统可以直接使用loadsql这个变量,有的则需要加个引号变成字符
loadsql="$loadsql"
# 仅需更改部分变量名,如有需要
result=`sqlplus -S $user/$pass@$jdbc <<END
set heading off
set feedback off
set pagesize 0
set verify off
set echo off
set line 3000
$loadsql
quit;
END`
# 对输出结果进行标准化,如awk,grep,sed等
sselect=`echo "$result"| awk '{printf "%s\n", $0}'`
更多推荐
如何在shell脚本中调用oracle数据库并返回结果
发布评论