web-dev-qa-db-fra.com

libsqlplus.so: ne peut pas ouvrir un fichier objet partagé: aucun fichier ou répertoire de ce type même si PATH contient le chemin

J'ai téléchargé Instant Oracle Client version 11.2.0.4.0 (basic, sqlplus, devel .rpm fichier) par site Web Oracle sous Ubuntu. Après la conversion de .rpm en .deb à l'aide de alien, je l'ai installé, basic en premier et sqlplus et dernier devel.

Et puis j'ai essayé de lancer sqlplus.

Mais c'est en disant sqlplus64: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

Même si ma PATH contient la PATH.

Ce qui suit montre ma PATH et l’emplacement de libsqlplus.so.

A@ubuntu:~$ Sudo find / -name libsqlplus.so
/usr/lib/Oracle/11.2/client64/lib/libsqlplus.so

A@ubuntu:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/sangmin/Eclipse:/usr/lib/Oracle/11.2/client64/lib:/usr/lib/Oracle/11.2/client64
7
SangminKim

Testez votre client Oracle. Utilisateur soit sqlplus soit sqlplus64 selon votre plate-forme. Dans mon cas, j'ai utilisé:

$ sqlplus64 username/password@//dbhost:1521/SID

Si vous recevez le message suivant, vous devez indiquer à sqlplus d'utiliser la bibliothèque appropriée:

sqlplus64: 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.

Pour ce faire, commencez par rechercher l'emplacement des bibliothèques Oracle. Le chemin devrait être quelque chose comme /usr/lib/Oracle/<version>/client(64)/lib/. Dans mon cas (Ubuntu 14.04 LTS, Intel sur 64 bits), il s’agissait de /usr/lib/Oracle/11.2/client64/lib/.

Ajoutez maintenant ce chemin à la liste de la bibliothèque système. Créer et éditer un nouveau fichier:

$ Sudo nano /etc/ld.so.conf.d/Oracle.conf

Ajouter dans le chemin:

/usr/lib/Oracle/11.2/client64/lib/

Exécutez maintenant l'utilitaire de liaisons d'exécution de l'éditeur de liens dynamique:

$ Sudo ldconfig

Si sqlplus génère un fichier libaio.so.1 manquant, exécutez:

$ Sudo apt-get install libaio1

Pour d’autres erreurs lors de l’exécution de sqlplus, veuillez consulter la page d’aide Ubuntu.

14
sontp

Peut-être intéressant de vérifier le problème des autorisations: sqlplus: erreur lors du chargement des bibliothèques partagées

AUTORISATIONS: Je tiens à souligner l’importance des autorisations pour "sqlplus". 

  1. Pour qu'un utilisateur "Autre" UNIX autre que le propriétaire/groupe puisse exécuter sqlplus et accéder à une base de données Oracle, des autorisations de lecture/exécution sont requises (rx) pour ces 4 répertoires:

    $ Oracle_HOME/bin, $ Oracle_HOME/lib, $ Oracle_HOME/oracore, $ Oracle_HOME/sqlplus

  2. Environnement. Définissez ceux-ci correctement:

    A. Oracle_HOME (Exemple: Oracle_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/)

    B. LD_LIBRARY_PATH (Exemple: Oracle_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/lib)

    C. Oracle_SID

    D. CHEMIN

     export PATH="$Oracle_HOME/bin:$PATH"
    
0
gidi gob