从shell脚本中读取用户名和密码并连接sqlplus

时间:2014-05-29 02:20:23

标签: shell oracle11g sqlplus

我有一个包含oracle db用户名和密码的db.txt

oracle_user=username        
oracle_password=password

然后我有一个shell脚本mytest.sh来调用db.txt中的用户名和密码。存储到变量并通过sqlplus运行test.sql文件

#!/bin/sh      
. db.txt      
SCRIPT_HOME=/myhome/mytest        
ORACLE_BASE=/opt/oracle        
ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome        
ORACLE_SID=mysid        
ORACLE_USER=$oracle_user        
ORACLE_PASSWORD=$oracle_password        
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_USER ORACLE_PASSWORD;         
SQL=$SCRIPT_HOME/test.sql        

$ORACLE_HOME/bin/sqlplus $ORACLE_USER/$ORACLE_PASSWORD@$ORACLE_SID @$SQL

但是当我运行mytest.sh时,它会返回

ERROR:
ORA-01017:用户名/密码无效;登录被拒绝

从文本文件中读取的变量是不是直接放入sqlplus命令?

1 个答案:

答案 0 :(得分:0)

乍一看脚本看起来不错。 你确定证书是正确的吗? 2.您可以在调用sqlplus之前echo "$ORACLE_USER/$ORACLE_PASSWORD"确保传递有效的详细信息