J'ai un RedHat linux qui contient une base de données Oracle. J'ai défini toutes les variables d'environnement, mais lorsque j'exécute la commande sqlplus
, j'ai cette erreur: SP2-0667: Message file sp1<lang>.msb not found
Voici mes variables et mes commandes sqlplus
:
[Oracle@as ~]$ echo $Oracle_HOME
/Oracle/product/12.1.0/dbhome_1
[Oracle@as ~]$ echo $ORA_NLS33
/Oracle/product/12.1.0/dbhome_1/nls/data
[Oracle@as ~]$ echo $LD_LIBRARY_PATH
/Oracle/product/12.1.0/dbhome_1/lib
[Oracle@as ~]$ sqlplus
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
Notez que j'exécute actuellement en tant qu'utilisateur Oracle
, qui semble être le propriétaire du /Oracle
dossier avec autorisation de lecture et d'exécution. J'ai également vu qu'un fichier nommé sp1us.msb existe dans le dossier suivant:
[Oracle@as ~]$ find $Oracle_HOME | grep sp1
/Oracle/product/12.1.0/dbhome_1/sqlplus/mesg/sp1us.msb
/Oracle/product/12.1.0/dbhome_1/sqlplus/mesg/sp1us.msg
J'ai trouvé la solution! Comme la documentation Oracle l'a dit à propos d'Oracle_HOME, mes variables env ont été définies dans le fichier/etc/profile, mais ne sont pas visibles depuis env | grep Oracle_HOME ou dbhomeso J'ai exécuté la commande suivante:
export Oracle_HOME=/app/Oracle/product/12.1.0/dbhome_1
et maintenant ça marche