Administration des bases de données

Blogue

Les cours

La différence entre le SID et le SERVICE_NAME


Rédigé par , le
Le SID (System ID)
Le SID correspond à l'identifiant d'une instance (exemple : ORCLB55) ou en d'autres mots, il est le nom unique de l'instance. Il correspond au paramètre INSTANCE_NAME.

Le SID permet notamment de trouver les fichiers de contrôle/journalisation/données lors de l'ouverture de la base de données.

Pour savoir quel est le SID d'une base de données Oracle :
SHOW PARAMETER INSTANCE_NAME; // ou 
SELECT INSTANCE_NAME FROM V$INSTANCE;

Notez que le SID/INSTANCE_NAME est différent lorsque la base de données est en RAC (Real Application Cluster)

Le nom global de la base de données
Le nom global d'une BD Oracle correspond à son identifiant par rapport au réseau. Il a la forme nom_db.domaine. Il est souvent la valeur par défaut de SERVICE_NAMES.

Le SERVICE_NAME
Ce paramètre est souvent identique au nom global de la base de données (format: db.domaine). Une instance pourrait avoir plusieurs noms de services, comme par exemple : info.cvm.qc.ca et gestion.cvm.qc.ca. De cette façon elle indique sous quels noms elle accepte de répondre.

Le SERVICE_NAME est utile pour les RAC (Real Application Cluster), car il permet par exemple de contrôler le nombre d'instances disponibles pour chaque nom de service.

Pour savoir sous quels noms de services une instance répond:
SHOW PARAMETER SERVICE_NAMES;

Exemple de connexion entre un client et un serveur Oracle
- Un usager distant veut se connecter en utilisant la requête suivante : CONNECT john/smith@VENTES
- TNSNAMES.ORA est consulté et les informations correspondant à l'alias "VENTES" sont utilisées. Le processus de l'usager sait donc où se trouve la base de données et comment s'y connecter.
- L'appel est lancé et l'écouteur du serveur Oracle (LISTENER) reçoit la requête.
- L'écouteur, dont la configuration vient de LISTENER.ORA, utilise le SERVICE_NAME (du TNSNAMES.ORA) afin de savoir à quelle instance se connecter.
- La connexion est effectuée.

Note : Le TNSNAMES.ORA aurait également pu être configuré pour utiliser le SID au lieu du SERVICE_NAME.
Les commentaires sur cet article
Par : boolean
2013-04-22 05:21:19

merci bien

Par : Mahamat Amine
2013-06-26 09:49:26

je voudrais être avec vous dans le groupe pour echanger tout les problème lié à Oracle.

Par : ndeye lo
2015-05-26 08:34:59

e suis sur Windows Vista et j'utilise oracle 11g, en faite j'ai déjà désinstallé oracle sur mon poste, j'ai supprimé :
- les produits installés
- ce qui est dans le registre
- le répertoire oracle dans mon local ( en mode sans échec)

Et en ce moment , j'installe de nouveau oracle et je cale sur le remplissage du nom global de la base, j'ai l'erreur suivante :

"le SID indiqué existe déjà sur cette machine . Saisissez un autre autre SID"

Et je veut par contre garder le SID que j'avais saisi .
Comment pourrais je supprimer l'ancien SID ?

Par : Frédéric
2015-05-26 11:43:45

@ndeye lo

Humm... c'est jamais évident de supprimer Oracle correctement sur Windows, et j'avoue ne pas savoir comment t'aider. Cela dit, je te suggère de regarder ce qui suit pour une piste de solution.

https://community.oracle.com/thread/334358

Bonne chance!

Ajouter votre commentaire
(facultatif)
(facultatif et non divulgé)
Captcha image
Prenez le nombre affiché et faites moins 1.
 
Blog  

Les articles


Pour envoyer une demande d'assistance à l'enseignant, cliquez ici