sqlplus: błąd podczas ładowania bibliotek współdzielonych: libsqlplus.so: nie można otworzyć pliku obiektu współdzielonego: brak takiego pliku lub katalogu

15
  • echo $PATH daje mi wynik poniżej:

/ 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 pobiera:

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATH daje ( ustawione /etc/bash.bashrcwcześniej, ale teraz pokazuje się jak poniżej )

LD_LIBRARY_PATH

robić vim na .bash_profilepokazach poniżej rzeczy zestawie:

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

Pomimo ustawienia ld_library_pathpowyższego pliku nadal nie otrzymuję prawidłowej ścieżki envpomimo uruchomienia, sudo ldconfiga następnie ponownego uruchomienia komputera !!

jakiej pomocy szukam:

  • ustaw poprawnie zmienne env

  • uruchom sqlplus

To samo pytanie istnieje superużytkownika , ale żadne rozwiązanie nie jest tam podana.

użytkownik246631
źródło
i czy znajduje się plik libsqlplus.so? spróbuj go znaleźć za pomocą „sudo updatedb && zlokalizuj libsqlplus.so” - to powiedz nam, jeśli go znalazłeś!
Wolfgang
@WolfgangVogl: cześć ... dziękuję za odpowiedź ur, po wykonaniu polecenia ur dostałem to:/usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631
@WolfgangVogl: oto wynik sprawdzania uprawnień dla pliku so = =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
Sprawdź ten link, aby uzyskać szczegółowe kroki ze zrzutem ekranu.
Aniket Thakur,

Odpowiedzi:

17

Jak widać w komentarzach, twoja biblioteka znajduje się na /usr/lib/oracle/12.1/client/lib/, ale twoja ścieżka zawiera tylko /usr/lib/oracle/12.1/client/bin ... widzisz, dlaczego może znaleźć bibliotekę?

Możesz rozwinąć LD_LIBRARY_PATH za pomocą katalogu /usr/lib/oracle/12.1/client/lib/ (w .profile lub .environment lub .bash_profile lub (jeśli chcesz, aby wszyscy użytkownicy) w /etc/bash.bashrc plik) - nie wiem, czy sqlplus zajmuje się LD_LIBRARY_PATH - po prostu spróbuj.

Aby zobaczyć, co jest ustawione LD_LIBRARY_PATH, musisz wpisać:

echo $LD_LIBRARY_PATH

(zwróć uwagę na $, jeśli chcesz odczytać wartość!)

Mam nadzieję że to pomoże!

Wolfgang
źródło
hi..i naprawdę doceniam to zaciągnięcie na to czasu, i zaktualizowane $LD_LIBRARY_PATHdo /usr/lib/oracle/12.1/client/lib/i pobiegł sqlplus, ale nadal ten sam błąd !! :(
user246631
1
libaio1brakowało też lib ... miałeś zbyt sudo po rozwiązaniu ... teraz rozwiązany ... yeyeyeye !! : D
user246631
1

W /usr/lib/oracle/12.1/client/lib/katalogu znajduje się kilka plików, których inne grupy nie mogą odczytać.

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

To działa w moim środowisku.

alicja
źródło