在shell脚本中通过调用sqlplus来执行SQL及一些数据库命令。下面来介绍一下常用的参数选项(现学现卖j_0063.gif

  1)-S

  sqlplus -S/nolog

  该参数选项登录时没有提示信息输出


  2)EOF

  EOF通常与<<一起使用,表示把后面的输入作为子命令或是shell的输入,直到再次遇到EOF结束该输入。下面,我们来看一个简单的数据库的启动和关闭脚本:

  [.....]cat startup.sh

  #!/bin/bash

  #“>”表示把当前输入的结果使用文件*.log存储起来

  sqlplus -S/nolog>startlog.log<<EOF

  connect sys/sys as sysdba

  startup;

  exit

  EOF

  exit;

  [.....]cat shutdown.sh

  #!?bin/bash

  sqlplus -S/nolog>shutlog.log<<EOF

  conn sys/sys as sysdba

  shutdown immediate;

  quit

  EOF

  exit;

  当我们不使用文件来记录日志时,它会直接输出到屏幕上。


  3)下面,我们来看一个sqlplus与shell交互的例子:

  [.....]$ cat test02.sh

  #!/bin/ksh

  read -p "Please input emplyees id>" emp_id

  name=`sqlplus -S /nolog <<EOF

  set heading off

  set feedback off

  conn hr/hr

  select first_name || ' ' || last_name emp_name