sqlplus: Fehler beim Laden gemeinsam genutzter Bibliotheken: libsqlplus.so: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

sqlplus: Fehler beim Laden gemeinsam genutzter Bibliotheken: libsqlplus.so: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis
  • echo $PATHgibt mir das folgende 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_HOMEholt:

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATHgibt (früher durchgesetzt /etc/bash.bashrc, aber jetzt wird es wie folgt angezeigt)

LD_LIBRARY_PATH

vimFür .bash_profiledie Shows sind folgende Dinge zu tun :

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

Trotz des Festlegens der ld_library_pathobigen Datei erhalte ich immer noch nicht den richtigen Pfad, envobwohl ich meinen Computer ausgeführt sudo ldconfigund dann neu gestartet habe!!

welche Hilfe ich suche:

  • Umgebungsvariablen richtig einstellen

  • Führen Sie SQLplus aus

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

Antwort1

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. Sehen Sie, warum die Bibliothek nicht gefunden werden kann?

Sie können Ihren LD_LIBRARY_PATH mit dem Verzeichnis /usr/lib/oracle/12.1/client/lib/ erweitern (in Ihrem .profile oder .environment oder .bash_profile oder (wenn Sie es für alle Benutzer möchten) in der Datei /etc/bash.bashrc) – ich weiß nicht, ob sqlplus sich um den LD_LIBRARY_PATH kümmert – probieren Sie es einfach aus.

Um zu sehen, auf welchen LD_LIBRARY_PATH eingestellt ist, müssen Sie Folgendes eingeben:

echo $LD_LIBRARY_PATH

(beachten Sie das $, wenn Sie den Wert lesen möchten!)

Hoffe das hilft!

Antwort2

In dem Verzeichnis befinden sich einige Dateien /usr/lib/oracle/12.1/client/lib/, die für andere Gruppen nicht lesbar sind.

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

Dann funktioniert es in meiner Umgebung.

verwandte Informationen