在UNIX脚本中使用SQLPLUS命令

时间:2014-02-26 11:17:41

标签: oracle bash unix sqlplus

我试图理解一个简单的脚本,该脚本使用unix中的sqlplus命令连接到Oracle数据库:

1 sqlplus -s /nolog > /dev/null 2>&1 <<EOF
2 whenever sqlerror exit failure
3 connect $user_pwd
4 exit success
5 EOF

如果我使用的是unix,那么我使用命令sqlplus $user_pwd连接到oracle数据库,并使用sqlplus命令来使用exit。请帮助我理解1,2,4,5行。对于专家来说这可能是一个简单的问题,但我无法理解何时使用这些问题。

1 个答案:

答案 0 :(得分:5)

  • -s用于静音模式(不输出任何内容)
  • > /dev/null 2>&1事情是强迫不显示任何东西。 (将标准输出和标准错误重定向到/ dev / null)
  • /nolog用于不尝试使用命令行参数登录。 (此处未提供登录凭据。)
  • <<EOF是一个heredoc输入重定向。直到EOF的行将作为标准输入传递给sqlplus。 (所以这就是为什么最后一行是EOF
  • 关于whenever行:http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12052.htm因此,如果发生错误,命令的返回值将会失败。
  • connect $user_pwdsqlplus连接到服务器
  • exit success使sqlplus返回成功。 http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12023.htm#i2697968