sqlplus: erreur lors du chargement des bibliothèques partagées: libsqlplus.so: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type

15
  • echo $PATH me donne ci-dessous le résultat:

/ home / mayank / bin: / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / jeux : / usr / lib / jvm / java-7-oracle / bin: / usr / lib / jvm / java-7-oracle / db / bin: / usr / lib / jvm / java-7-oracle / jre / bin: /usr/lib/oracle/12.1/client/bin

  • echo $ORACLE_HOME extractions :

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATHdonne ( défini /etc/bash.bashrcplus tôt, mais maintenant son affichage comme ci-dessous )

LD_LIBRARY_PATH

faire vimpour les .bash_profilespectacles ci-dessous les choses définies:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" #
Load RVM into a shell session *as a function*

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    export LD_LIBRARY_PATH

PATH=$PATH:/usr/local/bin
    export PATH

Malgré la définition du ld_library_pathfichier ci-dessus, je ne reçois toujours pas le chemin d'accès correct envmalgré l'exécution sudo ldconfiget le redémarrage de ma machine !!

quelle aide je cherche:

  • définir correctement les variables env

  • exécuter sqlplus

La même question existe en superutilisateur , mais aucune solution n'y est donnée.

user246631
la source
et où se trouve le fichier libsqlplus.so? essayez de le trouver avec "sudo updatedb && Locate libsqlplus.so" - alors dites-nous si vous l'avez trouvé!
Wolfgang
@WolfgangVogl: salut ... merci pour la réponse ur, lors de l'exécution de la commande ur, j'ai obtenu ceci:/usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631
@WolfgangVogl: voici le résultat de l'autorisation chekc sur donc file =>ls -l /usr/lib/oracle/12.1/client/lib/libsqlplus.so -rw-r--r-- 1 root root 1303050 May 27 2013 /usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631
1
Découvrez ce lien pour les étapes détaillées avec capture d'écran.
Aniket Thakur

Réponses:

17

Comme on le voit dans les commentaires, votre bibliothèque se trouve dans /usr/lib/oracle/12.1/client/lib/, mais votre chemin inclut simplement /usr/lib/oracle/12.1/client/bin ... vous voyez pourquoi il peut '' t trouver la bibliothèque?

Vous pouvez développer votre LD_LIBRARY_PATH avec le répertoire /usr/lib/oracle/12.1/client/lib/ (dans votre .profile ou .environment ou .bash_profile ou (si vous le souhaitez pour tous les utilisateurs) dans le /etc/bash.bashrc fichier) - je ne sais pas si sqlplus s'occupe du LD_LIBRARY_PATH - essayez juste.

Pour voir à quel LD_LIBRARY_PATH est défini, vous devez taper:

echo $LD_LIBRARY_PATH

(notez le $ si vous voulez lire la valeur!)

J'espère que cela t'aides!

Wolfgang
la source
salut .. j'apprécie vraiment que vous ayez pris du temps pour cela, j'ai mis $LD_LIBRARY_PATHà jour /usr/lib/oracle/12.1/client/lib/puis j'ai couru sqlplusmais toujours la même erreur !! :(
user246631
1
il y avait aussi une lib libaio1manquante ... avait une mise à jour trop sudo après votre solution ... maintenant résolu ... yeyeyeye !! : D
user246631
1

Il y a des fichiers sous le /usr/lib/oracle/12.1/client/lib/ répertoire qui ne sont pas lisibles par d'autres groupes.

cd /usr/lib/oracle/12.1/client/lib/
chmod +r *

Ensuite, cela fonctionne dans mon environnement.

Alice
la source