IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

[ODP][TAF]Comment résoudre l'erreur TNS-12152 ?


Sujet :

Oracle

  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut [ODP][TAF]Comment résoudre l'erreur TNS-12152 ?
    Bonjour,
    je viens de découvrir cet acronyme(TAF: Transparent Application Failover) au travers de la documentation d'Oracle Data Provider pour.NET.
    Qq peut-t-il me donner qq infos sur cette technique ?
    J'ai cru comprendre il s'agissait d'un dispositif de reprise sur incident coté client.
    Cette technique est-elle liée à une version particuliére d'Oracle serveur, RAC par exemple ?

    Merci.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    En lisant la doc des exemples de code j'ai pu avancer sur le sujet, d'aprés la doc Oracle cette technique est dispos pour Oracle 9i Enterprise.
    Par contre dans l'exemple proposé sur ce sujet, je rencontre l'erreur TNS-12152 sur le poste client au lieu d'obtenir un déclenchement d'événement (cf. Classe OracleConnection.Failover).

    Qq à une idée pour résoudre ce probléme ?

    Qq info supplémentaire

    Tnsnames.ora :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    TEST =
      (DESCRIPTION =
     
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = amd2800)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = TEST.LTA)
          (FAILOVER_MODE = 
           (TYPE = SELECT)
           (METHOD = BASIC)
           (RETRIES=100)
           (DELAY=1)
          )
        )
      )
    ...
    Requête sous SQL*PLUS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER, COUNT(*)
    FROM V$SESSION
    GROUP BY MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER;
    Résultat :
    MACHINE,FAILOVER_TYPE,FAILOVER_METHOD,FAILED_OVER,COUNT(*)
    AMD2800,NONE,NONE,NO,8
    TEST\AMD2800,SELECT,BASIC,YES,1
    Programme :
    %OracleHome%\ODP.NET\samples\TAF
    Message d'erreur :
    TNS-12152 TNS:unable to send break message
    Cause: Unable to send break message. Connection probably disconnected.
    Action: Re-establish connection. If the error is persistent, turn on tracing and re-execute the operation.

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Pour les quelques personnes qui ont lus le post.
    Aprés qq recherches voici un début de solution pour une machine hébergeant une instance.
    Dans un contexte de test (Le serveur et client étant sur la même machine) cela semble suffisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = amd2800)(PORT = 1521))
         (ADDRESS = (PROTOCOL = TCP)(HOST = amd2800)(PORT = 1521))
         (failover = yes) 
         (load_balance = yes) 
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = TEST.LTA)
          (FAILOVER_MODE = 
           (TYPE = SELECT)
           (METHOD = BASIC)
           (RETRIES=100)
           (DELAY=1)
          )
        )
      )
    Le fichier TnsName.ora doit contenir l'adresse du serveur de secours.
    Ici il s'agit du même serveur, le message suivant
    TNS-12152 TNS:unable to send break message
    indique une tentative d'émission d'un message de reprise vers le second serveur (StandBy) ou noeud dans un environnement RAC, enfin je suppose.
    Donc pour mon cas de figure cela est suffisant pour déclencher l'événement sur le client ODP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment résoudre l'Erreur SQL0802
    Par Clotilde dans le forum DB2
    Réponses: 9
    Dernier message: 29/12/2006, 15h25
  2. comment résoudre les erreurs de généricité?
    Par broumbroum dans le forum Langage
    Réponses: 4
    Dernier message: 31/10/2006, 11h59
  3. [VB.Net] Comment résoudre l'erreur si suppression dans la table maitre ?
    Par Alexandre` dans le forum Accès aux données
    Réponses: 1
    Dernier message: 26/08/2006, 15h51
  4. [Oracle 10g] Comment résoudre une erreur ORA-3000
    Par DoRiane dans le forum Oracle
    Réponses: 3
    Dernier message: 10/04/2006, 09h44
  5. comment résoudre l'erreur ORA-22992
    Par sofian001 dans le forum Oracle
    Réponses: 2
    Dernier message: 05/10/2005, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo