sqlplus: error al cargar bibliotecas compartidas: libsqlplus.so: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio

15
  • echo $PATH me da el siguiente 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_PATHda ( establecido /etc/bash.bashrcanteriormente, pero ahora se muestra a continuación )

LD_LIBRARY_PATH

haciendo vimpara los .bash_profilesiguientes espectáculos:

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

A pesar de configurar el ld_library_patharchivo anterior, sigo sin obtener la ruta correcta a envpesar de ejecutar sudo ldconfigy luego reiniciar mi máquina.

qué ayuda estoy buscando:

  • establecer env vars correctamente

  • ejecutar sqlplus

La misma pregunta existe superusuario , pero no se da ninguna solución allí.

usuario246631
fuente
y se encuentra el archivo libsqlplus.so? intente encontrarlo con "sudo updatedb && localizar libsqlplus.so" - ¡luego díganos si lo encontró!
Wolfgang
@WolfgangVogl: hola ... gracias por su respuesta, al ejecutar su comando obtuve esto:/usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631
@WolfgangVogl: aquí está el resultado de chekc de permisos en so file =>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
Consulte este enlace para ver los pasos detallados con la captura de pantalla.
Aniket Thakur

Respuestas:

17

Como se ve en los comentarios, su Biblioteca se encuentra en /usr/lib/oracle/12.1/client/lib/, pero su ruta solo incluye /usr/lib/oracle/12.1/client/bin ... ya ve por qué puede ' t encontrar la biblioteca?

Puede expandir su LD_LIBRARY_PATH con el directorio /usr/lib/oracle/12.1/client/lib/ (en su .profile o .environment o .bash_profile o (si lo desea para todos los usuarios) en /etc/bash.bashrc archivo): no sé si sqlplus se encarga de LD_LIBRARY_PATH, solo inténtalo.

Para ver qué LD_LIBRARY_PATH está configurado, debe escribir:

echo $LD_LIBRARY_PATH

(tenga en cuenta el $ si desea leer el valor!)

¡Espero que esto ayude!

Wolfgang
fuente
hi..i Realmente aprecio que sacar tiempo para esto, he actualizado $LD_LIBRARY_PATHa /usr/lib/oracle/12.1/client/lib/y luego corrí sqlpluspero todavía mismo error !! :(
user246631
1
también libaio1faltaba una lib ... tenía una actualización de sudo después de su solución ... ahora resuelto ... yeyeyeye !! : D
user246631
1

Hay algunos archivos en el /usr/lib/oracle/12.1/client/lib/directorio que otros grupos no pueden leer.

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

Entonces funciona en mi entorno.

Alicia
fuente