使用Shell脚本检查数据库连接

moh*_*ona 9 database linux shell

我正在尝试编写一个shell脚本来检查数据库连接.在我的脚本中,我正在使用该命令

sqlplus uid/pwd@database-schemaname
Run Code Online (Sandbox Code Playgroud)

连接到我的Oracle数据库.

现在我想在临时文件中保存此命令生成的输出(在它下降到SQL提示符之前),然后从该文件中grep/find字符串"Connected to"以查看连接是否正常.

任何人都可以帮我抓住输出并退出提示并测试连接是否正常?

Joc*_*hem 29

使用这样的脚本:

#!/bin/sh
echo "exit" | sqlplus -L uid/pwd@dbname | grep Connected > /dev/null
if [ $? -eq 0 ] 
then
   echo "OK"
else
   echo "NOT OK"
fi
Run Code Online (Sandbox Code Playgroud)

echo"exit"确保您的程序立即退出(这会通过管道传输到sqlplus).-L确保如果凭据不正确,sqlplus将不会要求输入密码(这也会使其卡住).

(>/dev/null只隐藏grep的输出,我们不需要,因为在这种情况下通过$?访问结果)