Unable to run sqlplus command as root or any other user except oracle on RSA Identity Governance and Lifecycle 6.8.x and above
Originally Published: 2016-08-10
Article Number
Applies To
RSA Version/Condition: 6.8.x and above
Platform: JBoss, Wildfly
Issue
acm:~ # sqlplus avuser/<password>
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
This error displays even though the environmental variable ORACLE_HOME is set correctly:
acm:~ # env | grep ORACLE ORACLE_CONNECTION_ID=AVDB ORACLE_SID=AVDB ORACLE_BASE=/u01/app/oracle ORACLE_SERVICE_NAME=AVDB ORACLE_GRID_HOME=/u01/app/11.2.0/grid ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
Cause
The incorrect line in the setDeployEnv.sh script is highlighted in red below:
if [ $USER != "oracle" ]; then
alias sqlplus='sudo -u oracle $ORACLE_HOME/bin/sqlplus'
alias avdbexport='sudo -u oracle /home/oracle/database/DBA/AVDB/scripts/AVDB_Export_AVUSER.sh'
alias avdbimport='sudo -u oracle /home/oracle/database/DBA/AVDB/scripts/AVDB_Import_AVUSER.sh'
else
alias avdbexport='/home/oracle/database/DBA/AVDB/scripts/AVDB_Export_AVUSER.sh'
alias avdbimport='/home/oracle/database/DBA/AVDB/scripts/AVDB_Import_AVUSER.sh'
fiResolution
- Run the command below as root to list all instances of the setDeployEnv.sh script that need editing:
acm:~ # find / -name setDeployEnv.sh 2>/dev/null /root/setDeployEnv.sh /tmp/aveksa/staging/deploy/setDeployEnv.sh /home/admin/setDeployEnv.sh /home/oracle/setDeployEnv.sh /home/oracle/deploy/setDeployEnv.sh
- Edit all setDeployEnv.sh scripts on the file system by adding an 'i' to the existing -u option in order to simulate initial login. The line before editing is shown here:
if [ $USER != "oracle" ]; then alias sqlplus='sudo -u oracle $ORACLE_HOME/bin/sqlplus' alias avdbexport='sudo -u oracle /home/oracle/database/DBA/AVDB/scripts/AVDB_Export_AVUSER.sh' alias avdbimport='sudo -u oracle /home/oracle/database/DBA/AVDB/scripts/AVDB_Import_AVUSER.sh' else alias avdbexport='/home/oracle/database/DBA/AVDB/scripts/AVDB_Export_AVUSER.sh' alias avdbimport='/home/oracle/database/DBA/AVDB/scripts/AVDB_Import_AVUSER.sh' fi
The line should look like the example below after editing:
if [ $USER != "oracle" ]; then alias sqlplus='sudo -iu oracle $ORACLE_HOME/bin/sqlplus' alias avdbexport='sudo -u oracle /home/oracle/database/DBA/AVDB/scripts/AVDB_Export_AVUSER.sh' alias avdbimport='sudo -u oracle /home/oracle/database/DBA/AVDB/scripts/AVDB_Import_AVUSER.sh' else alias avdbexport='/home/oracle/database/DBA/AVDB/scripts/AVDB_Export_AVUSER.sh' alias avdbimport='/home/oracle/database/DBA/AVDB/scripts/AVDB_Import_AVUSER.sh' fi
- After editing all instances of the script, logoff from any existing sessions then login again for changes to take effect.
Related Articles
Cannot Find Job ID Workflow Variable 33Number of Views How to verify that changes made to cknfastrc file have taken affect for supporting SSL keys based on nCipher/Thales PKCS#1… 69Number of Views Workflow REST Web Service node returns "RSA002 : Invalid Configuration" message in RSA Identity Governance & Lifecycle 85Number of Views How to set up a cron job to move files older than x days to a remote location daily in RSA Authentication Manager 8.x 7Number of Views How to move BINs from one FI to another in same region 20Number of Views
Don't see what you're looking for?