J'ai installé Oracle XE 11.2 sur Fedora 18 mais j'ai du mal à démarrer SQLPlus. Il se termine avec l'erreur suivante:
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
Toutes les variables d'environnement sont correctement définies (copiées à partir du guide d'installation)
# ~/.zshrc
Oracle_HOME=/u01/app/Oracle/product/11.2.0/xe # It is in fact installed there
Oracle_SID=XE
NLS_LANG=`$Oracle_HOME/bin/nls_lang.sh`
PATH=$Oracle_HOME/bin:$PATH
NLS_LANG
est AMERICAN_AMERICA.AL32UTF8
. Pour autant que je sache, Oracle ignore les variables liées au langage système, mais les voici de toute façon:
LC_CTYPE=en_US.UTF-8
LANG=en_US.UTF-8
Aucune suggestion?
Cette erreur se produit généralement si vous exécutez sqlplus en tant qu'utilisateur différent (autre que celui qui a installé le logiciel Oracle), en raison de problèmes d'autorisation
Vérifier la note Oracle: 356850.1
J'ai pu résoudre ce problème en copiant le contenu du dossier SQLPLUS dans le dossier Instant_Client_12_1. SQLPlus a ensuite pu se lancer.
Essayez d'ajouter:
export LD_LIBRARY_PATH ==/u01/app/Oracle/product/11.2.0/xe/lib
Sinon, vérifiez si vous pouvez accéder au répertoire lib ci-dessus.
Je viens de déployer Instant Client dans un répertoire et après avoir mis à jour LD_LIBRARY_PATH (y compris le répertoire lib d'Instant Client) et Oracle_HOME, je faisais face au même problème. J'ai maintenant mis à jour PATH (y compris le répertoire bin pour Instant Client) et cela a résolu le problème.
Et parfois, suivre la documentation Oracle résout pas mal de tracas.
Assurez-vous que Basic Instant Client est déployé avant d'exécuter le script d'installation ODBC.
Décompressez le package ODBC Instant Client, puis exécutez le script odbc_update_ini.sh avec le répertoire installé de Driver Manager comme argument de ligne de commande. (Pour une syntaxe complète, veuillez exécuter "odbc_update_ini.sh" sans aucune ligne de commande) Par exemple, si Driver Manager est installé dans le répertoire/home/DriverManager
$ odbc_update_ini.sh /home/DriverManger
Il ajoutera l'entrée DSN dans $ HOME/.odbc.ini et /etc/odbcinst.ini avec le nom DSN comme OracleODBC-11g
Après l'installation, l'environnement doit être configuré de la manière suivante. Ajoutez le répertoire à la variable d'environnement système LD_LIBRARY_PATH. Sinon ODBC manager ne pourra pas charger/trouver le pilote.
Définissez la variable d'environnement TNS_ADMIN pour pointer le répertoire de fichiers .ora pour OCI.
Cela doit être défini pour OCI pour résoudre le nom TNS. Si TNS_ADMIN n'est pas défini, OCI examinera un ensemble de répertoires dépendant du système d'exploitation pour trouver tnsnames.ora. Ce chemin de recherche inclut la recherche dans le répertoire $ Oracle_HOME/network/admin/tnsnames.ora. C'est la seule raison de définir la variable d'environnement Oracle_HOME pour Oracle Instant Client. Si Oracle_HOME est défini lors de l'exécution des applications Instant Client, il doit être défini dans un répertoire où existe Instant Client (dans ce cas C:\Oracle\instantclient_11_2). Si Oracle_HOME n'est pas défini, puis recherche dans le répertoire en cours pour tnsnames.ora.
Définissez toutes les variables de mondialisation Oracle requises pour vos paramètres régionaux. Reportez-vous au manuel Oracle Database 11g Globalization Support Guide pour plus d'informations. Par exemple sur Linux pour définir NLS_LANG: setenv NLS_LANG JAPANESE_JAPAN.JA16EUC