Posez votre question Signaler

[Oracle 10g XE] Error libaio.so.1 & ORA-12547

Guigui_91 - Dernière réponse le 7 juin 2010 à 11:48
Bonjour à tous,
Je viens solliciter un peu votre aide, dans le cadre de l'installe d'une application web je dois installer Oracle 10g Express Edition. Je l'ai installé plusieurs fois sur une debian je n'ai rencontré aucun soucis mais pour des raisons de compatibilité avec mon application je suis passer sur OpenSuse 10.1.
J'ai donc deux problème le premier étant une erreur lorsque je veux me connecter à l'invite de commande SQL*Plus le message d'erreur est le suivant :
oracleXE: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
ERROR:
ORA-12547: TNS : contact perdu
J'ai regardé un peu sur le net et le problème viendrait du fait que je n'ai pas installé les librairies libaio hors je l'ai fait et j'ai vérifier son installation donc je bloque un peu la
Mon seconde problème est que je n'arrive pas à accéder à l'interface web sur l'adresse http://127.0.0.1:8080/apex je ne sais pas si c'est lieu peut-être un problème d'ouverture de port je me pencherais dessus plustard
Voila ça fait un moment que je galère la dessus j'espère pouvoir me dépêtrer de tout ça avec votre aide merci d'avance
Cordialement
Lire la suite 

[Oracle 10g XE] Error libaio.so.1 & ORA-12547 »

43 réponses
Réponse
+0
moins plus
Salut,

Que te renvoi la commande locate libaio.so.1 ?

Pas souvent travaillé avec Suser, mais qu'as tu installé comme package ? (libaio & libaio-devel ?)

A plus
Ajouter un commentaire
Réponse
+0
moins plus
Lut,

la commande whereis libaio.so.1 renvoi :

libaio.so:

Je n'avais pas installé libaio-devel mais ça ne change rien :(
Ajouter un commentaire
Réponse
+0
moins plus
Ok... :(

Alors, pour investiguer, que te renvoie les commande suivantes (executée en tant qu'utilisateur root, puis en tant qu'utilisateur que tu utilise pour lancer sqlplus):

# ldd $(which sqlplus)
# find / -name libaio*
# echo $LD_LIBRARY_PATH
Ajouter un commentaire
Réponse
+0
moins plus
Donc avec mon utilisateur oracle membre du groupe dba :

oracle@carlsource:~> ldd $(which sqlplus) 
ldd: missing file arguments 
Try 'ldd --help' for more information. 
oracle@carlsource:~> find / -name libaio* 
...
find: /usr/lib/man-db: Permission non accordée 
/usr/lib64/libaio.so.1 
/usr/lib64/libaio.so.1.0.1 
/usr/lib64/libaio.a 
/usr/lib64/libaio.so 
/usr/share/doc/packages/libaio 
find: /usr/share/YaST2/data/support: Permission non accordée 
/usr/include/libaio.h 
...
oracle@carlsource:~> echo $LD_LIBRARY_PATH 

oracle@carlsource:~>
Ajouter un commentaire
Réponse
+0
moins plus
carlsource:/home/oracle # ldd $(which sqlplus)
ldd: missing file arguments
Try 'ldd --help' for more information.
carlsource:/home/oracle # find / -name libaio*
/usr/lib64/libaio.so.1
/usr/lib64/libaio.so.1.0.1
/usr/lib64/libaio.a
/usr/lib64/libaio.so
/usr/share/doc/packages/libaio
/usr/include/libaio.h
find: /proc/4765/task: Aucun fichier ou répertoire de ce type
find: /proc/4765/fd: Aucun fichier ou répertoire de ce type
carlsource:/home/oracle # echo $LD_LIBRARY_PATH

carlsource:/home/oracle #

Voila la commande ldd ne passe pas je vois pas trop pourquoi...
asevere- 21 mai 2010 à 10:59
Pour la commande ldd, c'est qu'il ne trouve pas le binaire sqlplus quand tu le lance, tu tapes juste sqlplus, ou tu donne le chemin ?

J'aurais tendance a dire que en settant $LD_LIBRARY_PATH, ça devrait fonctionner...

Si tu peux faire fonctionner ldd avec:
ldd </chemin/ver/>sqlplus

Ca permettera de verifier que rien d'autre n'est manquant...

Sinon, re tente la connexion, mais dans ton shell avant de lancer sqlplus, tu tapes:
export LD_LIBRARY_PATH=/usr/lib64


Si ça marche, ça veut dire que bizzarement, ta Suse, ne va pas lire les lib 64 bits :-/

Tiens nous au courant!, a plus
Ajouter un commentaire
Réponse
+0
moins plus
Bah enfaite je le lance avec un raccourcis qui pointe vers :
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh

carlsource:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts # ldd runsqlplus.sh
not a dynamic executable


et après export LD_LIBRARY_PATH=/usr/lib64

et c'est toujours pareil...
asevere- 21 mai 2010 à 11:32
Que te donne du coup:
grep sqlplus /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh
Ajouter un commentaire
Réponse
+0
moins plus
carlsource:/home/oracle # grep sqlplus usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh
/usr/bin/gnome-terminal -t "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
/usr/bin/xterm -T "SQL*Plus" -n "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
asevere- 21 mai 2010 à 11:49
hum :(

Il me laisse perplexe là...

Enfin visiblement, il tente de lancer un autre treminal qui lui même lance sqlplus (si le script est pas trop long, je veux bien que tu le copie-colle ici, ou que tu l'envoie par cjoint)

Ce que tu peux déjà tenter c'est de rajouter dans le fichier ~/.profile à la fin, la lignne:
export LD_LIBRARY_PATH=/usr/lib64 


puis te terminer ta session linux, ouvrir une nouvelle session, et voir si ça règle le problème (ça doit être indiquer dans le POSTINSTALL de oracle ceci dit...)
Ajouter un commentaire
Réponse
+0
moins plus
Toujours le même problème :(
asevere- 24 mai 2010 à 10:15
Salut,

peux-tu me copier le fichier /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh ?

A plus
Ajouter un commentaire
Réponse
+0
moins plus
#!/bin/bash
#
# svaggu 09/28/05 - Creation
#

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG='$ORACLE_HOME/bin/nls_lang.sh'
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
~
asevere- 25 mai 2010 à 10:21
Bon, on va voir maintenant, ce qui lui manque a sqlplus :-)
Dans le fichier: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh

Commente la dernière ligne, et ajoute la commande ldd:
#!/bin/bash 
# 
# svaggu 09/28/05 - Creation 
# 

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server 
export ORACLE_HOME 
ORACLE_SID=XE 
export ORACLE_SID 
NLS_LANG='$ORACLE_HOME/bin/nls_lang.sh' 
export NLS_LANG 
PATH=$ORACLE_HOME/bin:$PATH 
export PATH 
#sqlplus /nolog  
ldd sqlplus

Ensuite, lance sql plus comme tu le fait habituellement, et colle nous le resultat ici.
Ajouter un commentaire
Réponse
+0
moins plus
Alors la il ne se lance plus dutout ni via le raccourci ni via la commande ./sqlplus.sh :(
asevere- 25 mai 2010 à 10:43
Normal qu'il ne se lance plus, mais que t'ecrit-il ?
Ajouter un commentaire
Réponse
+0
moins plus
Ah désolé voila ce qu'il m'affiche :

oracle@carlsource:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts> ./sqlplus.sh
ldd: ./sqlplus: Aucun fichier ou répertoire de ce type
oracle@carlsource:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts>
asevere- 25 mai 2010 à 11:17
Re,

Tu es bien sur d'avoir modifié le script comme il faut ?

Dans la sortie:
ldd: ./sqlplus: Aucun fichier ou répertoire de ce type
le "./" m'etonne :(

Re-colle le script modifié pour qu'on s'assure que tout est ok :)

++

EDIT: c'est ma faute... :)
remplace la ligne
ldd sqlplus
par:
ldd $ORACLE_HOME/bin/sqlplus
Ajouter un commentaire
Réponse
+0
moins plus
oracle@carlsource:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts> ./sqlplus.sh 
        linux-gate.so.1 =>  (0xffffe000) 
        libsqlplus.so => /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/../lib/libsqlplus.so (0xf7f25000) 
        libclntsh.so.10.1 => /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/../lib/libclntsh.so.10.1 (0xf7171000) 
        libnnz10.so => /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/../lib/libnnz10.so (0xf6f6c000) 
        libdl.so.2 => /lib/libdl.so.2 (0xf6f4a000) 
        libm.so.6 => /lib/libm.so.6 (0xf6f25000) 
        libpthread.so.0 => /lib/libpthread.so.0 (0xf6f11000) 
        libnsl.so.1 => /lib/libnsl.so.1 (0xf6efc000) 
        libc.so.6 => /lib/libc.so.6 (0xf6ddc000) 
        /lib/ld-linux.so.2 (0xf7fd8000) 
oracle@carlsource:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts>  

C'est déja plus parlant :)
asevere- 25 mai 2010 à 11:57
Ok, donc le problème n'est pas lié a sqlplus, mais à l'instance...

Je repasse plus tard...
Mais tu peux déjà tenter par toi même, il faut (je pense) que lors du lancement de l'instance, le LD_LIBRARY_PATH soit correctement sétté: (export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH)

donc une modif a faire dans le script qui lance l'instance, ou mieux, pour l'utilisateur qui lance l'instance oracle.

Si tu peux me dire comment l'instance est lancée, je suis preneur!

A plus
Ajouter un commentaire
Réponse
+0
moins plus
Asevere,

Je suis désolé mais je suis débutant en Linux...

Quand tu parles de lancer l'instance tu parles de lancer la console pour SQLplus ?
asevere- 25 mai 2010 à 15:21
Pas de soucis...

Quand je parle de lancer l'instance, c'est demarrer le service oracle, mais je ne sais pas comment cela se passe sur oracle xe, est-ce démarré automatiquement au démarrage de la machine, ou toi lance-tu un script à la main ?

Si c'est demarré directement par la machine ou que tu ne sais pas comment il est démarré, (vu que je n'ai pas de quoi le tester ici), peut-tu me retourner le resultat de la commande suivante:
ls -l /etc/init.d/
(si ça plante, c'est que suse fonctionne différamment :(' )
Ajouter un commentaire
Réponse
+0
moins plus
Ok j'avais pas bien saisi ta question l'instance se lance au démarrage car lors de l'installation j'ai demandé à ce que la base soit démarré automatiquement pour le résultat de la commande :
carlsource:/home/guillaume # ls -l /etc/init.d/ 
total 641 
...
-rwxr-xr-x 1 root root 16454 2006-01-30 12:59 oracle-xe 
...
asevere- 25 mai 2010 à 16:05
Ok, je veux bien que tu me donne le contenu du script...


Au fait, as-tu jeté un zyeu au fichiers de log de oracle ? (désolé, mes dernières experia-ence avec Oracle sont trop lointaine pour que je puisse te dire avec assurance ou les trouver)
Ajouter un commentaire
Réponse
+0
moins plus
Le script est trop volumineux tu peux m'envoyé un MP avec ton adresse email pour que je puisse te l'envoyer ?

Au niveau des log j'ai le fichier sqlnet.log qui me renvoi mon erreur cité dans le titre
asevere- 26 mai 2010 à 14:40
Salut,

Si tu as tenté d'envoyer un mail, il n'a pas du arriver :(
Guigui91090- 26 mai 2010 à 15:37
Nan désolé j'ai pas eu le temps ce matin je t'envoi ça de suite ;)
asevere- 26 mai 2010 à 15:52
Vu,

Alors,
Commence par me copier le resultat de:
ldd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr

Executé avec ton utilisateur, root, puis avec l'utilisateur oracle avec la commande suivante a partir du compte root si le compte orccle est desactivé (ce qui devrait être le cas)
su - oracle -c ldd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr


Histoire de controller que le problème est bien là, avant de modifier quoi que ce soit :)
Ajouter un commentaire
Réponse
+0
moins plus
ldd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr
linux-gate.so.1 => (0xffffe000)
libclntsh.so.10.1 => /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libclntsh.so.10.1 (0xf714e000)
libnnz10.so => /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libnnz10.so (0xf6f49000)
libdl.so.2 => /lib/libdl.so.2 (0xf6f27000)
libm.so.6 => /lib/libm.so.6 (0xf6f02000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf6eee000)
libnsl.so.1 => /lib/libnsl.so.1 (0xf6ed9000)
libons.so => /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/libons.so (0xf6ecd000)
libc.so.6 => /lib/libc.so.6 (0xf6dad000)
/lib/ld-linux.so.2 (0xf7f03000)
Guigui91090 - 26 mai 2010 à 16:08
ça c'est avec l'utilisateur oracle ça renvoi le même résultat en root et la 2e commande ne passe pas peux-tu me dire à quoi ça sert parceque j'aimerais bien comprendre ce que je fais lol
asevere- 27 mai 2010 à 10:54
La commande ldd premet de savoir si tout les librairies dynamiques requises sont trouvées par le programme, et le cas échéant, lesquelles sont utilisées :)

Le problème c'est que visiblement, il a tout.... :(

Peut-tu stopper le service (/etc/init.d/oracle-xe stop)

Puis en tant qu'utilisateur oracle: copier coller ce qui suit dans un script quelconque

#!/bin/bash
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export PATH=$ORACLE_HOME/bin:$PATH

find $ORACLE_HOME -name "*log"

lsnrctl start
lsnrctl status

sqlplus -s /nolog @$ORACLE_HOME/config/scripts/startdb.sql

puis
chmod +x ton_script.sh

puis
./ton_script.sh


Dans le detail, le script va lister les fichier de logs puis demarrer le serveur sans cacher la sortie standard pour tenter d'avoir plus d'info.

Ensuite, copie-colle le resultat du script :)

A plus
Ajouter un commentaire
Réponse
+0
moins plus
Ou est-ce que tu place le script il me renvoi command not found :(
asevere- 27 mai 2010 à 13:09
Ben... ou tu veux en fait...

Tu n'as qu'a le mettre dans /home/oracle/test_lsnr.sh et exécuter /home/oracle/test_lsnr.sh :)
Guigui91090- 27 mai 2010 à 13:43
ça passe toujours pas
Ajouter un commentaire
Réponse
+0
moins plus
Enfait il se passe quelque chose désolé...

oracle@carlsource:~> ./script.sh
./.kde/share/apps/kconf_update/log
./.kde/share/apps/kconf_update/log/update.log
./sqlnet.log
./script.sh: line 6: lsnrctl: command not found
./script.sh: line 7: lsnrctl: command not found
./script.sh: line 9: sqlplus: command not found
oracle@carlsource:~>
asevere- 27 mai 2010 à 14:31
Visiblement, tu as un soucis dans les lignes 2 & 3 du script, tu peux me l'envoyer par mail ?
Ajouter un commentaire
Réponse
+0
moins plus
C'est bon j'ai vu le blèm voila le resultat :

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/log/carlsource/client/css.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/cloneDBCreation.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/CloneRmanRestore.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/postDBCreation.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/postScripts.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlnet.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 27-MAY-2010 16:44:37

Copyright (c) 1991, 2005, Oracle. All rights reserved.

Message 1070 not found; No message file for product=network, facility=TNSTNSLSNR for Linux: Version 10.2.0.1.0 - Production
Message 279 not found; No message file for product=network, facility=NL
Message 1073 not found; No message file for product=network, facility=TNS
Message 1053 not found; No message file for product=network, facility=TNSMessage 1020 not found; No message file for product=network, facility=TNSMessage 1021 not found; No message file for product=network, facility=TNSMessage 1022 not found; No message file for product=network, facility=TNSMessage 1023 not found; No message file for product=network, facility=TNSMessage 1026 not found; No message file for product=network, facility=TNSMessage 1034 not found; No message file for product=network, facility=TNSMessage 1024 not found; No message file for product=network, facility=TNSMessage 1025 not found; No message file for product=network, facility=TNSMessage 1040 not found; No message file for product=network, facility=TNSMessage 1028 not found; No message file for product=network, facility=TNSMessage 1415 not found; No message file for product=network, facility=TNS Message 1050 not found; No message file for product=network, facility=TNS
Message 1030 not found; No message file for product=network, facility=TNSMessage 1052 not found; No message file for product=network, facility=TNS
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 27-MAY-2010 16:44:37

Copyright (c) 1991, 2005, Oracle. All rights reserved.

Message 1053 not found; No message file for product=network, facility=TNSMessage 1020 not found; No message file for product=network, facility=TNSMessage 1021 not found; No message file for product=network, facility=TNSMessage 1022 not found; No message file for product=network, facility=TNSMessage 1023 not found; No message file for product=network, facility=TNSMessage 1026 not found; No message file for product=network, facility=TNSMessage 1034 not found; No message file for product=network, facility=TNSMessage 1024 not found; No message file for product=network, facility=TNSMessage 1025 not found; No message file for product=network, facility=TNSMessage 1040 not found; No message file for product=network, facility=TNSMessage 1028 not found; No message file for product=network, facility=TNSMessage 1415 not found; No message file for product=network, facility=TNS Message 1050 not found; No message file for product=network, facility=TNS
Message 1030 not found; No message file for product=network, facility=TNSMessage 1052 not found; No message file for product=network, facility=TNSError 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
oracle@carlsource:~>
asevere- 27 mai 2010 à 15:00
Ok :(

Peux-tu rajouter un export devant la declaration de ORACLE_HOME (comme pour PATH) et refaire le test
Ajouter un commentaire
Réponse
+0
moins plus
oracle@carlsource:~> ./script.sh
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/log/carlsource/client/css.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/cloneDBCreation.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/CloneRmanRestore.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/postDBCreation.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/log/postScripts.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlnet.log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 27-MAY-2010 17:14:18

Copyright (c) 1991, 2005, Oracle. All rights reserved.

TNS-01106: Listener using listener name LISTENER has already been started

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 27-MAY-2010 17:14:18

Copyright (c) 1991, 2005, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=carlsource)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 27-MAY-2010 16:44:37
Uptime 0 days 0 hr. 29 min. 41 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=carlsource.site)(PORT=1521)))
The listener supports no services
The command completed successfully
ERROR:
ORA-12162: TNS:net service name is incorrectly specified


ORA-12162: TNS:net service name is incorrectly specified
oracle@carlsource:~>
asevere- 27 mai 2010 à 15:15
Alors, il faudrait rajouter au script la ligne:
export ORACLE_SID=XE
(aprés le export PATH par exemple)

Et relancer le script (ps: pense a faire un ./etc/init.d/oracle-xe stop avant de relancer le script )
Ajouter un commentaire
Ce document intitulé « [Oracle 10g XE] Error libaio.so.1 & ORA-12547 » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
[Oracle 10g XE] Error libaio.so.1 & ORA-12547 - page 2