Bonjour à tous,

-le contexte:
ma société développe et installe des applications avec des bases de données ORACLE (8i ou 10g).
Quelques-fois la base de données est "installée" sur 2 machines avec un LOAD-BALANCING.
Ainsi le tnsmames.ora client est du type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
MADB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = machine01)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = machine02)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = LaBD.Clientdb.CLIENT)
    )
  )


-la problématique:
Quelquefois une des 2 machines tombe en panne, ou bien un conflit d'adresse IP entraine le fait que la connexion ORACLE ne marche plus - listener KO-, et personne ne s'en apercoit... jusqu'à ce qu'un problème intervienne sur la 2ème machine, et là c'est la catastrophe puisqu'aucune des 2 instances de la BD ne répond plus...

-la solution envisagée, mais comment faire ?
la solution envisagée, c'est, après s'être connecté à la base de données (pour info: soit sous WINDEV, soit sous SQLPLUS), de tester si toutes les autres instances (auxquelles on aurait pu éventuellement se connecter si le load-balancing en avait décidé autrement, et qui doivent être opérationnelles !) sont OK...

-les résultats de mes recherches:
sont bien maigres...
j'ai trouvé la table DBA_RESOURCE_INCARNATIONS qui me semble intéressante
ainsi je pourrais peut-être pour chaque ligne de DBA_RESOURCE_INCARNATIONS tester la commande connect user/pwd@//HostNameDeDBA_RESOURCE_INCARNATIONS/ServiceNameRenvoyeParLaCommandeGlobalName

Bon j'avoue que je galère pas mal...

Merci d'avance de votre aide.
Patrick.