web-dev-qa-db-fra.com

SP2-0667: fichier de messages sp1 <lang> .msb introuvable sqlplus oracle

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
1
Couim

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

2
Couim