web-dev-qa-db-fra.com

Fichier de message introuvable au démarrage de SQLPlus

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?

5
synapse

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

2
BigB

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.

2
user50802

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.

1
Gandolf989

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.

1
Pascal

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

1
Pascal