Question

Pourquoi ai-je besoin de deux ?Quand dois-je utiliser l’un ou l’autre ?

Était-ce utile?

La solution

@CAD

En bref:Sid = le nom unique de votre db, ServiceName = l'alias utilisé lors de la connexion

Pas strictement vrai..SID = nom unique de l'INSTANCE (par exemple le processus oracle exécuté sur la machine).Oracle considère la « Base de données » comme étant les fichiers.

Nom du service = alias d'une INSTANCE (ou de plusieurs instances).L'objectif principal est que si vous exécutez un cluster, le client peut dire "connectez-moi à SALES.acme.com", le DBA peut à la volée modifier le nombre d'instances disponibles pour les requêtes SALES.acme.com, ou même déplacer SALES.acme.com vers une base de données complètement différente sans que le client ait besoin de modifier les paramètres.

Autres conseils

S'il te plait regarde: http://www.sap-img.com/oracle-database/finding-oracle-sid-of-a-database.htm

Quelle est la différence entre les noms de services Oracle SIDS et Oracle.Un outil de configuration recherche le nom du service, puis le prochain cherche des SIDS!Que se passe-t-il?!

Oracle SID est le nom unique qui identifie de manière unique votre instance / base de données où le nom de service est l'alias TNS que vous donnez lorsque vous vous connectez à distance à votre base de données et ce nom de service est enregistré dans le fichier tnsnames.ora sur vos clients et il peut être le fichier Identique à Sid et vous pouvez également lui donner tout autre nom que vous souhaitez.

Service_name est la nouvelle fonctionnalité d'Oracle 8i dans laquelle la base de données peut s'inscrire à l'auditeur.Si la base de données est enregistrée auprès de l'auditeur de cette manière, vous pouvez utiliser le paramètre Service_name dans tnsnames.ora sinon - utilisez SID dans tnsnames.ora.

De plus, si vous avez OPS (RAC), vous aurez différents Service_name pour chaque instance.

Service_Names Spécifie un ou plusieurs noms pour le service de base de données auquel cette instance se connecte.Vous pouvez spécifier plusieurs noms de services afin de distinguer les différentes utilisations de la même base de données.Par exemple:

Service_Names = Sales.acme.com, widgetsales.acme.com

Vous pouvez également utiliser des noms de service pour identifier un seul service disponible à partir de deux bases de données différentes grâce à l'utilisation de la réplication.

Dans un environnement Oracle Parallel Server, vous devez définir ce paramètre pour chaque instance.

En bref:SID = le nom unique de votre instance DB, ServiceName = l'alias utilisé lors de la connexion

Je sais que c'est ancien cependant lorsqu'il s'agit d'outils, d'utilisations, d'utilisateurs ou de symptômes capricieux concernant :sid & service naming one peut ajouter un peu de flexibilité à vos entrées tnsnames comme :

mySID, mySID.whereever.com =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = myHostname)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = mySID.whereever.com)
    (SID = mySID)
    (SERVER = DEDICATED)
  )
)

Je pensais juste que je laisserais cela ici car cela est légèrement pertinent par rapport à la question et peut être utile lorsque vous essayez de contourner certaines particularités moins que claires du réseau Oracle.

qu'est-ce qu'un SID et un nom de service

veuillez consulter la documentation d'Oracle à l'adresse https://docs.oracle.com/cd/B19306_01/network.102/b14212/concepts.htm

Dans le cas où le lien ci-dessus n'est plus accessible à l'avenir, au moment de la rédaction de cette réponse, le lien ci-dessus vous dirigera vers la rubrique "Service de base de données et identification de l'instance de base de données" dans le chapitre Concepts de connectivité du "Guide de l'administrateur des services réseau de base de données". .Ce guide est publié par Oracle dans le cadre de la « Documentation en ligne d'Oracle Database, 10g Release 2 (10.2) ».

Quand dois-je utiliser l’un ou l’autre ?Pourquoi ai-je besoin de deux ?

Considérez ci-dessous la cartographie dans un environnement RAC,

SID      SERVICE_NAME
bob1    bob
bob2    bob
bob3    bob
bob4    bob

si l'équilibrage de charge est configuré, l'écouteur « équilibrera » la charge de travail sur les quatre SID.Même si l'équilibrage de charge est configuré, vous pouvez vous connecter à bob1 à tout moment si vous le souhaitez en utilisant le SID au lieu de SERVICE_NAME.

Se il vous plaît se référer, https://community.oracle.com/thread/4049517

Selon le glossaire Oracle :

SID est un nom unique pour une instance de base de données Oracle.---> Pour basculer entre les bases de données Oracle, les utilisateurs doivent spécifier le sid <--- souhaité.Le SID est inclus dans les parties de données de connexion des descripteurs de connexion dans un fichier tnsnames.ora, et dans la définition de l'écouteur de réseau dans le fichier auditeur.ora.Également connu sous le nom d'ID système.Le nom du service Oracle peut être tout descriptif comme "MyoracleServiceorcl".Dans Windows, vous pouvez être le nom de votre service en tant que service sous Windows Services.

Vous devriez utiliser SID dans TNSNAMES.ORA comme meilleure approche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top