dimanche 13 septembre 2009

TNS-12560: TNS : erreur d'adaptateur de protocole

Cette erreur tout administrateur de BD Oracle là connait. Au début elle peut vous consommer des jours afin de là resoudre mais avec l'experience elle s'avère n'etre qu'un petit element qui parfois échappe a votre vigilance: LES VARIABLES D'ENVIRONNEMENTS;

Oracle pour s'executer parfaitement mérite que certains variables soient clairement définies notamment le ORACLE_HOME et le ORACLE_SID, il y' en a plusieurs d'autres mais votre problème tournera toujours autour de ces deux variables.

selon votre environnement à savoir linux ou windows les approches sont differentes.
Un c:\set ORACLE_HOME=your_oraclehome et c:\set ORACLE_SID=your_oraclesid fera l'affaire. Si vous disposez de plusieurs instances et ne voulez pas modifiez l'accès a votre base en production par exemple proceder comme suit:
$sqlplus / nolog
sqlplus>conn userid/userpwd@service_name

Ceci vous permettra de vous passer d'une écriture dans le registre de l'instance à laquelle vous souhaiter vous connecter.

Dans un environnement linux, il vous faudra penser à exporter ces variables par la suite.

La preuve que vos variable d'environnement sont mal positionné vous seras révélés en tapant la commande:
$tnsping service_name
Qui est en fait un test du service oracle. Comme un ping sur une adresse.
S'il s'execute vous verrez le temps d'execution si ces variables sont OK et le cas écheant l'erreur vous disant pourquoi il est impossible de resoudre le service.

7 commentaires:

  1. Quelle difference y' a t'il entre oracle_sid et oracle_servicename?

    RépondreSupprimer
  2. Juste pour te dire que le SID (SYSTEM IDENTIFIER) est en quelque sorte le nom de la base de données et le service name est l'identifiant de ladite base de donnéees sur le reseau.
    Pour ne pas faire compliqué tu te serviras du service name lorsque tu voudras tester la resolution d'une base de données a travers le service reseau tandis que le ORACLE_SID te permettra te tester l'etat de ta bases de données.

    RépondreSupprimer
  3. peut on définir une fois pour toutes ces variable d'environnement de manière à ce qu'il n'y a plus de ce problème de "TNS-12560: TNS : erreur d'adaptateur de protocole " y a pas une solution !

    RépondreSupprimer
  4. A propos merci pour ce blog; intéréssant!

    RépondreSupprimer
  5. bonjour a tous si je pouvais avoir les détails de la résolution du problème concernant TNS-12560 je comprend pas trop ceux-ci

    c:\set ORACLE_HOME=your_oraclehome

    c:\set ORACLE_SID=your_oraclesid

    RépondreSupprimer
  6. Moi j'ai un soucis j'ai installé un hyperviseur sur le quelle j'ai mis un machine virtuelle et sur cette machine virtuel j'ai intallé Windows serveur 2008.
    Le pb c'est que lorsque je j'installe aracle server mon listner ne parvient pas à démarrer.
    j'ai cette erreur: ORA-12541: TNS: no listener

    RépondreSupprimer
  7. Ce commentaire a été supprimé par l'auteur.

    RépondreSupprimer