sqlplus: erro ao carregar bibliotecas compartilhadas: libsqlplus.so: não é possível abrir o arquivo de objeto compartilhado: nenhum arquivo ou diretório

15
  • echo $PATH dá-me abaixo resultado:

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

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATHdá ( definido /etc/bash.bashrcanteriormente, mas agora está mostrando como abaixo )

LD_LIBRARY_PATH

fazendo vimpara os .bash_profileshows abaixo das coisas definidas:

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

Apesar de definir o ld_library_patharquivo acima, ainda não estou obtendo o caminho correto envapesar de executar sudo ldconfige reiniciar minha máquina!

que ajuda estou procurando:

  • definir env vars corretamente

  • execute sqlplus

A mesma pergunta existe superusuário , mas nenhuma solução é dada lá.

user246631
fonte
e existe o arquivo libsqlplus.so localizado? tente encontrá-lo com "sudo updatedb && localize libsqlplus.so" - em seguida, diga-nos se você o encontrou!
Wolfgang
@WolfgangVogl: oi ... thankx por sua resposta, ao executar o comando ur, eu tenho o seguinte:/usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631
@WolfgangVogl: aqui está o resultado do chekc da permissão no arquivo = =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
11
Confira este link para obter etapas detalhadas com a captura de tela.
Aniket Thakur

Respostas:

17

Como visto nos comentários, sua Biblioteca está localizada em /usr/lib/oracle/12.1/client/lib/, mas seu caminho inclui /usr/lib/oracle/12.1/client/bin ... você vê por que pode ' não encontra a biblioteca?

Você pode expandir seu LD_LIBRARY_PATH com o diretório /usr/lib/oracle/12.1/client/lib/ (em seu perfil .profile ou .environment ou .bash_profile ou (se desejar para todos os usuários) em /etc/bash.bashrc arquivo) - não sei se o sqlplus cuida do LD_LIBRARY_PATH - apenas tente.

Para ver o que LD_LIBRARY_PATH está definido, você deve digitar:

echo $LD_LIBRARY_PATH

(observe o $ se você quiser ler o valor!)

Espero que isto ajude!

Wolfgang
fonte
hi..i realmente aprecio você tomar o tempo para isso, eu atualizei $LD_LIBRARY_PATHpara /usr/lib/oracle/12.1/client/lib/e, em seguida, correu sqlplus, mas ainda mesmo erro !! :(
user246631
11
estava libaio1faltando uma lib também ... teve atualização de sudo demais depois da sua solução ... agora resolvida ... yeyeyeye !! : D
user246631
1

Existem alguns arquivos no /usr/lib/oracle/12.1/client/lib/diretório que não são legíveis por outros grupos.

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

Então funciona no meu ambiente.

Alice
fonte