web-dev-qa-db-fra.com

sqlplus: erreur lors du chargement des bibliothèques partagées: libsqlplus.so: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type

Veuillez suggérer une solution pour résoudre ce problème ?? En donnant la commande sqlplus /nolog l'erreur s'est produite est

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

11
Priyanka U

La configuration minimale pour exécuter correctement sqlplus à partir du shell est de définir Oracle_HOME et LD_LIBRARY_PATH. Pour plus de facilité d'utilisation, vous souhaiterez peut-être également définir PATH en conséquence.

En supposant que vous avez décompressé les archives requises dans /opt/Oracle/instantclient_11_1:

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

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

6
Toolkit

J'ai résolu cette erreur en définissant

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

oui, non seulement $ Oracle_HOME/lib mais aussi $ Oracle_HOME.

6
Leon Rom

PERMISSIONS: Je tiens à souligner l'importance des autorisations pour "sqlplus".

  1. Pour que tout autre utilisateur UNIX autre que le propriétaire/groupe puisse exécuter sqlplus et accéder à une base de données Oracle, des autorisations de lecture/exécution sont requises (rx) pour ces 4 répertoires:

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

  2. Environnement. Réglez-les correctement:

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

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

    C. Oracle_SID

    D. CHEMIN

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

Je sais que c'est un vieux fil de discussion, mais je suis rentré dans le coup avec Oracle 12c et LD_LIBRARY_PATH a été défini correctement. J'ai utilisé strace pour voir exactement ce qu'il cherchait et pourquoi il a échoué:

 strace sqlplus /nolog

sqlplus essaie de charger cette bibliothèque à partir de différents répertoires, certains n'existaient pas dans mon installation. Ensuite, il a essayé celui que j'avais déjà sur mon LD_LIBRARY_PATH:

open ("/ Oracle/product/12.1.0/db_1/lib/libsqlplus.so", O_RDONLY) = -1 EACCES (Autorisation refusée)

Donc, dans mon cas, la bibliothèque avait 740 autorisations, et comme mon utilisateur n'était pas propriétaire ou n'avait pas de groupe Oracle affecté, je ne pouvais pas le lire. Si simple chmod +r aidé.

3
michal

Vous pouvez essayer l'utilisation:

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

Ce problème est dû au fait que le client oracleinstant ne configure pas la bibliothèque partagée.

1

Vous devriez déjà avoir toutes les variables nécessaires dans /etc/profile.d/Oracle.sh. Assurez-vous de vous l'approvisionner:

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

PS: le contenu de ce fichier ressemble à:

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

Si vous ne l'avez pas, créez-le et sourcez-le.

1
forzagreen

Cela signifie que vous n'avez pas défini de variables Oracle_HOME et Oracle_SID. Veuillez définir le bon fonctionnement de $ Oracle_HOME et $ Oracle_SID et ensuite exécuter la commande sqlplus/nolog. Ça va marcher.

0
doc123

Pourriez-vous s'il vous plaît vérifier si LD_LIBRARY_PATH pointe vers les bibliothèques Oracle

0
Charmi