在shell脚本中通过调用sqlplus来执行SQL及一些数据库命令。下面来介绍一下常用的参数选项(现学现卖)
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