2016-03-01 105 views
0

我已经创建了以下用于部署下面提到的所有包和表脚本的shell脚本。 我刚进德直供方式:用于部署plsql包的Shell脚本|| Sqlplus:找不到命令错误

cd /home/test 

然后我打电话给我的shell脚本SH XXHCM_OBJECT.sh

#!/usr/bin/sh 

# Parameters to be accepted from command prompt 
# Parameter 1 = Apps username/Password 
# Parameter 2 = BOLINF username/Password 
# Parameter 3 = Host name for the instance 
# Parameter 4 = Port Number for the instance 
# Parameter 5 = DB Name for the instance 


#APPS_USER="$1" 
#BOLINF_USER="$2" 
#HOST_NAME="$3" 
#PORT_NUMBER="$4" 
#DB_NAME="$5" 

LOGFILE="$CUST_TOP/XXHCM_OBJECTS.log" 

#APPS_USERNAME=$(echo $APPS_USER|cut -f "1" -d /) 
#APPS_PWD=$(echo $APPS_USER|cut -f "2" -d /) 

#- 
#- reading program parameters 
#- 

echo "Enter APPS User: " 

read APPS 

echo "Enter APPS Password: " 

stty -echo 

read APPS_PWD 

stty echo 


echo "Enter Custom User: " 

read CUSTOM 

echo "Enter Custom Password: " 

stty -echo 

read CUSTOM_PWD 

stty echo 

echo "Enter Install Server (SID): " 

read SID 



APPS_USER="$APPS/[email protected]$SID" 

CUSTOM_USER="$CUSTOM/[email protected]$SID" 


APPS_USERNAME=$(echo $APPS_USER|cut -f "1" -d /) 

APPS_PWD=$(echo $APPS_USER|cut -f "2" -d /) 

echo "" > $LOGFILE 


echo "" > $LOGFILE 
echo "Starting installation of XXHCM_OBJECTS - XXHCM_OBJECTS ..." 
echo "Starting installation of XXHCM_OBJECTS - XXHCM_OBJECTS ..." >>$LOGFILE 
echo "" >>$LOGFILE 

echo "" >>$LOGFILE 
echo "Copying Files To Appropriate Directories ..." 
echo "Copying Files To Appropriate Directories ..." >>$LOGFILE 
echo "" >>$LOGFILE 


echo "Changing permissions ... " >> $LOGFILE 
chmod 777 *.* 
echo "Changed permissions ... " >> $LOGFILE 

echo "">>$LOGFILE 
echo "Creating Custom Package, Synonyms and Grants...">>$LOGFILE 
echo "Creating Custom Package, Synonyms and Grants..." 
echo "">>$LOGFILE 


if sqlplus $APPS_USER @XXHCM_MAPPING_STG.sql 
then 
    echo "Insert data into entities table in APPS schema" >> $LOGFILE 
    echo "Insert data into entities table in APPS schema" 
else 
    echo "Error in Insert data into entities table in APPS schema" >> $LOGFILE 
    echo "Error in Insert data into entities table in APPS schema" 
fi 
if sqlplus $APPS_USER @XXdiv_ASSIGNMENT_SUPERVISOR_STG.sql 
then 
    echo "Insert data into entities table in APPS schema" >> $LOGFILE 
    echo "Insert data into entities table in APPS schema" 
else 
    echo "Error in Insert data into entities table in APPS schema" >> $LOGFILE 
    echo "Error in Insert data into entities table in APPS schema" 
fi 
if sqlplus $APPS_USER @XXHCM_STAGING_TO_I.pks 
then 
    echo "Package specification for package XXHCM_STAGING_TO_I created in APPS schema" >> $LOGFILE 
    echo "Package specification for package XXHCM_STAGING_TO_I created in APPS schema" 
else 
    echo "Error in creating Package specification" >> $LOGFILE 
    echo "Error in creating Package specification" 
fi 

if sqlplus $APPS_USER @XXHCM_STAGING_TO_I.pkb 
then 
    echo "Package body created for package XXHCM_STAGING_TO_I in APPS schema" >> $LOGFILE 
    echo "Package body created for package XXHCM_STAGING_TO_I in APPS schema" 
else 
    echo "Error in creating Package body" >> $LOGFILE 
    echo "Error in creating Package body" 
fi 
echo "">>$LOGFILE 
echo "Package, Synonyms,grants and Tables created successfully">>$LOGFILE 
echo "Package, Synonyms,grants and Tables created successfully" 
echo "">>$LOGFILE 


echo "Installation completed for XXHCM_OBJECTS - XXHCM_OBJECTS" 
echo "Installation completed for XXHCM_OBJECTS - XXHCM_OBJECTS" >> $LOGFILE 
# ***************************************************************************** 
# End of Script 
# ***************************************************************************** 

但在输出它给我的错误:

sqlplus: command not found 

回答

0

看起来像您缺少PATH中的sqlplus安装位置。假设你的Oracle安装是/opt/oracle/product/12.1.0/db_1,sqlplus的应该是/opt/oracle/product/12.1.0/db_1/bin,所有你需要做的就是添加到您的脚本是这样的:

export PATH=/opt/oracle/product/12.1.0/db_1/bin:$PATH 

或像人们通常做,导出ORACLE_HOME变量,并把它添加到PATH,就像

export ORACLE_HOME=/opt/oracle/product/12.1.0/db_1 
export PATH=$ORACLE_HOME/bin:$PATH 
+0

@ sasteck-我应该在脚本中添加这个吗? –

+0

我如何找到正确的Oracle安装位于/opt/oracle/product/12.1.0/db_1 –

+0

@ sasteck-我在脚本中添加了此项。但仍然有同样的错误 –