sqlplus: ошибка при загрузке общих библиотек: libsqlplus.so: не удается открыть общий объектный файл: нет такого файла или каталога

15
  • echo $PATH дает мне ниже результат:

/ Главная / Mayank / бен: / USR / Библиотека / LightDM / LightDM: / USR / местные / SBIN: / USR / местные / бен: / USR / SBIN: / USR / бен: / SBIN: / бен: / USR / игры : / USR / Библиотека / JVM / Java-7-оракул / бен: / USR / Библиотека / JVM / Java-7-оракул / дб / бен: / USR / Библиотека / JVM / Java-7-оракул / JRE / бен: /usr/lib/oracle/12.1/client/bin

  • echo $ORACLE_HOME выборки:

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATHдает ( установить через /etc/bash.bashrcранее, но теперь его показ, как показано ниже )

LD_LIBRARY_PATH

делать vimдля .bash_profileшоу ниже установленных вещей:

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

Несмотря на установку ld_library_pathв файле выше, я все еще не получаю правильный путь, envнесмотря на sudo ldconfigто, что я запускаю и перезагружаю мою машину !!

какую помощь я ищу:

  • правильно установить env vars

  • запустить sqlplus

Тот же вопрос существует суперпользователем , но там не дано никакого решения.

user246631
источник
а есть файл libsqlplus.so, расположенный? попробуйте найти его с помощью "sudo updatedb && locate libsqlplus.so" - тогда, пожалуйста, сообщите нам, если вы его нашли!
Вольфганг
@WolfgangVogl: привет ... спасибо за ответ, при выполнении команды ur я получил это:/usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631
@WolfgangVogl: вот чекк разрешения на файл 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
Проверьте эту ссылку для подробных шагов со скриншотом.
Аникет Тхакур

Ответы:

17

Как видно из комментариев, ваша библиотека находится по адресу /usr/lib/oracle/12.1/client/lib/, но ваш путь включает только /usr/lib/oracle/12.1/client/bin ... вы понимаете, почему она может ' найти библиотеку?

Вы можете расширить свой LD_LIBRARY_PATH с помощью каталога /usr/lib/oracle/12.1/client/lib/ (в вашем .profile или .environment или .bash_profile или (если вы хотите это для всех пользователей) в /etc/bash.bashrc файл) - я не знаю, если sqlplus заботится о LD_LIBRARY_PATH - просто попробуйте.

Чтобы увидеть, какой LD_LIBRARY_PATH установлен, вы должны набрать:

echo $LD_LIBRARY_PATH

(обратите внимание на $, если вы хотите прочитать значение!)

Надеюсь это поможет!

Wolfgang
источник
hi..i действительно ценю , что вы вынимая время для этого, я обновил $LD_LIBRARY_PATHдо /usr/lib/oracle/12.1/client/lib/и побежал , sqlplusно все же ошибка !! :(
user246631
1
тоже не libaio1хватает библиотеки ... было слишком sudo обновление после вашего решения ... теперь решено ... yeyeyeye !! : D
user246631
1

В каталоге есть несколько файлов, /usr/lib/oracle/12.1/client/lib/которые не доступны для чтения другим группам.

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

Тогда это работает в моей среде.

Алиса
источник