it-swarm.com.de

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

Bitte schlagen Sie eine Lösung für dieses Problem vor? Während der Eingabe des Befehls sqlplus /nolog der Fehler ist aufgetreten

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory ..

11
Priyanka U

Die Mindestkonfiguration für die ordnungsgemäße Ausführung von sqlplus in der Shell besteht darin, Oracle_HOME Und LD_LIBRARY_PATH Festzulegen. Zur Vereinfachung möchten Sie möglicherweise auch PATH entsprechend einstellen.

Angenommen, Sie haben die erforderlichen Archive in /opt/Oracle/instantclient_11_1 Entpackt:

sh$ export Oracle_HOME=/opt/Oracle/instantclient_11_1
sh$ export LD_LIBRARY_PATH="$Oracle_HOME"
sh$ export PATH="$Oracle_HOME:$PATH"

sh$ sqlplus

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Dec 31 14:06:06 2014
...
13
Sylvain Leroux
Sudo sh -c "echo /usr/lib/Oracle/12.2/client64/lib > /etc/ld.so.conf.d/Oracle-instantclient.conf";Sudo ldconfig

from https://help.ubuntu.com/community/Oracle%20Instant%20Client

6
Toolkit

Ich habe diesen Fehler durch Einstellen behoben

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Oracle_HOME/lib:$Oracle_HOME

ja, nicht nur $ Oracle_HOME/lib, sondern auch $ Oracle_HOME.

6
Leon Rom

ERLAUBNISSE: Ich möchte die Bedeutung von Berechtigungen für "sqlplus" hervorheben.

  1. Damit jeder "andere" UNIX-Benutzer außer dem Eigentümer/der Gruppe sqlplus ausführen und auf eine Oracle-Datenbank zugreifen kann, sind für diese 4 Verzeichnisse Lese-/Ausführungsberechtigungen (rx) erforderlich:

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

  2. Umgebung. Stellen Sie diese richtig ein:

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

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

    C. Oracle_SID

    D. PFAD

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

Ich weiß, dass es ein alter Thread ist, aber ich bin mit Oracle 12c erneut darauf gekommen und LD_LIBRARY_PATH wurde korrekt eingestellt. Ich habe strace verwendet, um zu sehen, wonach genau gesucht wurde und warum dies fehlgeschlagen ist:

 strace sqlplus /nolog

sqlplus versucht, diese Bibliothek aus verschiedenen Verzeichnissen zu laden, von denen einige in meiner Installation nicht vorhanden waren. Dann probierte es die, die ich bereits auf meinem LD_LIBRARY_PATH hatte:

open ("/ Oracle/product/12.1.0/db_1/lib/libsqlplus.so", O_RDONLY) = -1 EACCES (Berechtigung verweigert)

In meinem Fall hatte die Bibliothek also 740 Berechtigungen, und da meinem Benutzer kein Besitzer oder keine Oracle-Gruppe zugewiesen war, konnte ich sie nicht lesen. So einfach chmod +r hat geholfen.

3
michal

Sie können die Verwendung versuchen:

# echo "/usr/lib/Oracle/12.2/client64/lib" > /etc/ld.so.conf.d/Oracle.conf
# ldconfig

Dieses Problem liegt daran, dass der oracleinstant-Client keine gemeinsam genutzte Bibliothek konfiguriert.

1

Sie sollten bereits alle benötigten Variablen in /etc/profile.d/Oracle.sh Haben. Stellen Sie sicher, dass Sie es beziehen:

$ source /etc/profile.d/Oracle.sh

PS: Der Inhalt dieser Datei sieht folgendermaßen aus:

Oracle_HOME=/usr/lib/Oracle/11.2/client64
PATH=$Oracle_HOME/bin:$PATH
LD_LIBRARY_PATH=$Oracle_HOME/lib
export Oracle_HOME
export LD_LIBRARY_PATH
export PATH

Wenn Sie es nicht haben, erstellen Sie es und geben Sie es als Quelle an.

1
forzagreen

Dies bedeutet, dass Sie die Variablen Oracle_HOME und Oracle_SID nicht festgelegt haben. Bitte setzen Sie $ Oracle_HOME und $ Oracle_SID in Ordnung und führen Sie danach den Befehl sqlplus/nolog aus. Es wird funktionieren.

0
doc123

Könnten Sie bitte überprüfen, ob LD_LIBRARY_PATH auf die Oracle-Bibliotheken verweist

0
Charmi