2016-03-01 40 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-我在腳本中添加了此項。但仍然有同樣的錯誤 –