Connexion Oracle simple /vs Oracle Cluster

Mammouth du PHP | 19672 Messages

23 oct. 2007, 14:04

Bonjour,
est-ce que quelqu'un aurait lu ou entendu parler de différences entre la manière de se connecter à un serveur Oracle simple et se connecter à la même version d'Oracle en Cluster, dans les deux cas avec PDO ?
En théorie, ça ne devrait pas faire de différence, mais en pratique, on a eu une surprise du genre chez l'hébergeur et si la première marche bien, la seconde plante. Le contenu de la base en cluster est strictement la même que celle de la version simple.
Le message d'erreur sur la version cluster est :

Code : Tout sélectionner

Erreur de connexion sur 10.***.***.*** : SQLSTATE[]: pdo_oci_handle_factory: OCI_INVALID_HANDLE (/var/install/php-5.2.3/ext/pdo_oci/oci_driver.c:469)
Toute idée ou piste sera bienvenue :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 oct. 2007, 14:29

Est-ce que les TNS de connexions sont identiques ?

Sinon, est-ce que les autres paramétrages de tes 2 versions sont identiques ?
Est-ce que tu peux te connecter à la base en cluster autrement qu'avec un script PHP (Toad, phpOraAdmin, ...) ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

23 oct. 2007, 14:31

Je vais transmettre les questions, je ne suis pas en charge de cette partie, merci pour les idées Zeus :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 3 Messages

23 oct. 2007, 15:43

Je suis un collègue de Cyrano et je suis en charge du pb.

Voici le contexte (sous Linux) :
Environnement pré-production : 1 serveur Apache/php et 1 serveur Oracle
Environnement production : 5 serveurs Apache/php et 2 serveurs Oracle en Cluster

La connexion à Oracle s'effectue avec PDO_OCI

En environnement de pré-prod : Aucun pb
En environnement de prod : Echec de connexion (voir message de Cyrano)
Le test avec sqlplus fonctionne en prod.

Je n'ai pas trouvé de trace d'expérience sur le net autour de PDO_OCI et Oracle cluster.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

23 oct. 2007, 16:19

Je n'ai pas non plus d'expérience sur une install en cluster.

Le seul truc que j'arrive à comprendre, c'est que PHP n'arrive même pas à Oracle puisqu'il n'y a aucun identifiant d'erreur et que le message d'erreur signifie qu'il n'a même pas pu demander l'authentification, même pas de réponse du serveur.

Est-ce que du côté des firewall, tout est OK ?
Est-ce que les serveurs Apache sont dans la même salle blanche que les serveurs Oracle ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 3 Messages

23 oct. 2007, 20:36

Voici le retour de l'hébergeur sur le pb :
Le problème de connexion via PDO au RAC Oracle est un problème applicatif.
Du fait que PDO soit encore à l’état expérimental, il est possible qu’il y ait un problème de compatibilité entre le RAC Oracle
et PDO. Nous n’avons pas encore trouvé de solution.

La connexion par sqlplus à la base du RAC Oracle depuis les serveurs de Front Office et Back Office fonctionne parfaitement.
Les test de redondance du RAC Oracle ont été effectués avec succès.

A partir du moment où le port 1521 est ouvert entre une machine et les deux serveurs du RAC, il est possible de s’y connecter par sqlplus
depuis cette machine. Cela fonctionne également pour l’accès par un seul des serveurs (en utilisant l’IP d’un seul serveur).

Nous effectuerons des tests supplémentaires demain.

Le message d’erreur de connexion PDO est le suivant :

Erreur de connexion sur 10.XX.XX.XX : SQLSTATE[]: pdo_oci_handle_factory: OCI_INVALID_HANDLE (/var/install/php-5.2.3/ext/pdo_oci/oci_driver.c:469)

Mammouth du PHP | 19672 Messages

27 oct. 2007, 15:38

Pour information, pour ceux que la question intéresse : aux dernières nouvelles, il semble que ça vienne d'une erreur de compilation chez l'hébergeur et non un problème de code ou de paramétrage. On attend d'en savoir plus de son coté.

En attendant, ceux qui se heurteraient à un soucis similaire auront toujours cette piste à explorer...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 19672 Messages

29 oct. 2007, 09:22

Problème résolu mais il y avais un petit bémol.

Après recompilation des serveurs, la connexion s'est effectuée correctement. Néanmoins, des lenteurs et/ou une partie des requêtes n'aboutissant jamais, il a fallu revoir la méthode de connexion.

Pour ceux qui auraient à résoudre le problème d'une connexion à un Cluster Oracle 10G, voici quelques références utiles :
- http://www.oracle.com/technology/produc ... ndrac.html
- http://database.in2p3.fr/TAF.html;
- https://lii.isnetne.ch/RaD/isnet57/SougSigRac_FTE.pdf

Merci à ceux qui ont tenté de nous aider de leurs idées :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ham1120
Invité n'ayant pas de compte PHPfrance

08 mars 2009, 17:37

comment le problème a été resolu.

j'ai le meme prob actuellement

Mammouth du PHP | 19672 Messages

08 mars 2009, 17:46

comment le problème a été resolu.

j'ai le meme prob actuellement
Tu as suivi les liens que j'avais mis ??

Enfin, j'ai souligné un problème de compilation du serveur Oracle, pas de PHP.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

neolitec
Invité n'ayant pas de compte PHPfrance

21 déc. 2010, 18:05

Bonjour,

Je me permet de remonter ce topic parce que je rencontre exactement ce problème actuellement et c'est étonnamment le seul endroit qui en parle que j'ai pu trouver !
Version d'oracle : 10g en Cluster (RAC)
Connexion via PDO sous Linux (RedHat)

Environnement de Dev : 1 serveur Oracle
Environnement de Prod : 2 serveurs Oracle en cluster

tnsping et sqlplus fonctionnent en environnement de dev comme en prod.
Avec PDO, tout va bien en environnement de test (j'attaque un serveur unique).

Mais en prod, j'ai aléatoirement des échecs de connexion.

J'aurais voulu en savoir plus sur la résolution de ce problème (j'ai suivi les liens, en tout cas j'ai essayé ^^).


Une piste ?

Mammouth du PHP | 19672 Messages

21 déc. 2010, 18:11

Le sujet a déjà plus d'un an et demi, pour ma part, je n'ai pas la mémoire aussi longue sur les détails de ce genre de problème.

Ce qui pourrait éventuellement nous rafraichir la mémoire, ce serait d'avoir des détails sur les messages d'erreurs. Si le problème est en plus aléatoire, ça ne va certes pas nous faciliter la vie pour trouver, donc les détails seront importants.

N'as-tu rien trouvé d'utile dans les liens mentionnés plus haut ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: