sqlplus: Fehler beim Laden der gemeinsam genutzten Bibliotheken: libsqlplus.so: Datei mit gemeinsam genutzten Objekten kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

15
  • echo $PATH gibt mir folgendes Ergebnis:

/ home / mayank / bin: / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games : / 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 holt:

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATHgibt ( früher durchgesetzt /etc/bash.bashrc, aber jetzt wie unten gezeigt )

LD_LIBRARY_PATH

tun vimfür .bash_profileShows unter Sachen eingestellt:

[[ -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

Obwohl ld_library_pathich die obige Datei eingestellt habe, erhalte ich immer noch nicht den richtigen Pfad, envobwohl sudo ldconfigich meine Maschine starte und dann neu starte !!

nach welcher hilfe suche ich:

  • Stellen Sie env vars richtig ein

  • Führen Sie sqlplus aus

Dieselbe Frage existiert Superuser , aber dort wird keine Lösung angegeben.

user246631
quelle
und dort befindet sich die libsqlplus.so Datei? versuchen Sie es mit "sudo updatedb && locate libsqlplus.so" zu finden - dann teilen Sie uns bitte mit, ob Sie es gefunden haben!
Wolfgang
@WolfgangVogl: hi ... danke für deine antwort, beim ausführen /usr/lib/oracle/12.1/client/lib/libsqlplus.so
deines befehls habe
@WolfgangVogl: hier ist die Erlaubnis chekc Ergebnis auf so 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
Schauen Sie sich diesen Link für detaillierte Schritte mit Screenshot an.
Aniket Thakur

Antworten:

17

Wie aus den Kommentaren hervorgeht, befindet sich Ihre Bibliothek unter /usr/lib/oracle/12.1/client/lib/, Ihr Pfad enthält jedoch nur /usr/lib/oracle/12.1/client/bin. Sie finden die Bibliothek nicht?

Sie können Ihr LD_LIBRARY_PATH mit dem Verzeichnis /usr/lib/oracle/12.1/client/lib/ erweitern (in Ihrem .profile oder .environment oder .bash_profile oder (falls Sie dies für alle Benutzer wünschen) in /etc/bash.bashrc Datei) - Ich weiß nicht, ob sqlplus die LD_LIBRARY_PATH kümmert - probieren Sie es einfach aus.

Um zu sehen, welche LD_LIBRARY_PATH festgelegt ist, müssen Sie Folgendes eingeben:

echo $LD_LIBRARY_PATH

(notiere das $ wenn du den Wert lesen willst!)

Hoffe das hilft!

Wolfgang
quelle
hi..i wirklich zu schätzen Sie Zeit für das Herausnehmen i aktualisiert $LD_LIBRARY_PATHzu /usr/lib/oracle/12.1/client/lib/und lief dann sqlplusaber immer noch denselben Fehler !! :(
user246631
1
es libaio1fehlte auch eine lib ... hatte nach deiner lösung zu sudo upgrade ... jetzt gelöst ... yeyeyeye !! : D
user246631
1

Unter dem /usr/lib/oracle/12.1/client/lib/Verzeichnis befinden sich einige Dateien, die von anderen Gruppen nicht gelesen werden können.

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

Dann funktioniert es in meiner Umgebung.

Alice
quelle