Hoe SID verschilt van de servicenaam in Oracle tnsnames.ora

Waarom heb ik er twee nodig? Wanneer moet ik de een of de ander gebruiken?


Antwoord 1, autoriteit 100%

Citaat door @DAC

Kortom: SID = de unieke naam van
uw DB, ServiceName = de gebruikte alias
bij het verbinden

Niet helemaal waar. SID = unieke naam van de INSTANCE (bijv. het orakelproces dat op de machine draait). Oracle beschouwt de “Database” als de bestanden.

Servicenaam = alias naar een INSTANCE (of veel instanties). Het belangrijkste doel hiervan is dat als u een cluster uitvoert, de client kan zeggen “verbind me met SALES.acme.com“, de DBA kan direct het aantal instanties wijzigen dat beschikbaar is voor SALES.acme.comverzoeken, of zelfs SALES.acme.comverplaatsen naar een compleet andere database zonder dat de klant instellingen hoeft te wijzigen.


Antwoord 2, autoriteit 17%

Zie: http:/ /www.sap-img.com/oracle-database/finding-oracle-sid-of-a-database.htm

Wat is het verschil tussen Oracle
SID’s en Oracle SERVICENAMEN. Een
config tool zoekt naar SERVICENAAM en
dan zoekt de volgende naar SID’s! Wat is?
gaat het door?!

Oracle SID is de unieke naam die
identificeert op unieke wijze uw
instantie/database waar als service
naam is de TNS-alias die u opgeeft
wanneer u op afstand verbinding maakt met uw
database en deze servicenaam is
opgenomen in het Tnsnames.ora-bestand op uw
clients en het kan hetzelfde zijn als SID
en je kunt het ook een ander geven
naam die je wilt.

SERVICE_NAME is de nieuwe functie van
oracle 8i en later in welke database
kan zichzelf registreren bij luisteraar. Indien
databank wordt listener
op deze manier, dan kunt u gebruik maken van
SERVICE_NAME parameter in tnsnames.ora
anders -. gebruik SID in tnsnames.ora

Ook als u OPS (RAC) je wil
hebben verschillende SERVICE_NAME voor elk
bijvoorbeeld.

SERVICE_NAMES specificeert één of meer
namen voor de database service aan
waarbij dit geval verbindt. Jij kan
specificeren meerdere namen diensten in
Om te onderscheiden tussen verschillende
maakt gebruik van dezelfde database. Voor
Voorbeeld:

SERVICE_NAMES = sales.acme.com,
widgetsales.acme.com

U kunt ook gebruik maken van dienst namen
identificeren van een enkele dienst die
verkrijgbaar bij twee verschillende databases
door het gebruik van replicatie.

In een Oracle Parallel Server
milieu, moet u dit in te stellen
parameter voor alle gevallen.

In het kort: SID = de unieke naam van uw DB bijvoorbeeld ServiceName = de alias gebruikt bij aansluiting


Antwoord 3, Autoriteit 13%

Ik weet dat dit oude echter bij het omgaan met pietluttige hulpmiddelen, toepassingen, gebruikers of symptomen re: sid & amp; dienst naamgeving kan men een beetje flex toe te voegen aan uw tnsnames vermeldingen zoals als:

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)
  )
)

Ik dacht dat ik dit hier te laten zoals het is mild relevant voor de vraag en kan nuttig zijn bij een poging om rond te weven een aantal minder dan duidelijk eigenaardigheden van orakel netwerken zijn.


Antwoord 4, Autoriteit 4%

wat is een SID en Service name

bekijk de documentatie van Oracle op https://docs .oracle.com/cd/B19306_01/network.102/b14212/concepts.htm

In het geval dat de bovenstaande link in de toekomst niet toegankelijk is, zal de bovenstaande link u op het moment van schrijven van dit antwoord verwijzen naar het onderwerp “Databaseservice en database-instantieidentificatie” in het hoofdstuk Connectivity Concepts van “Database Net Services Beheerdersgids”. Deze gids is gepubliceerd door oracle als onderdeel van “Oracle Database Online Documentation, 10g Release 2 (10.2)”

Wanneer moet ik de een of de ander gebruiken? Waarom heb ik er twee nodig?

Overweeg onderstaande mapping in een RAC-omgeving,

SID      SERVICE_NAME
bob1    bob
bob2    bob
bob3    bob
bob4    bob

als taakverdeling is geconfigureerd, zal de luisteraar de werklast over alle vier de SID’s verdelen. Zelfs als taakverdeling is geconfigureerd, kunt u altijd verbinding maken met bob1 als u dat wilt door de SID te gebruiken in plaats van SERVICE_NAME.

Raadpleeg https://community.oracle.com/thread/4049517


Antwoord 5

Volgens Oracle Woordenlijst:

SID is een unieke naam voor een Oracle-database-instantie. —> Overschakelen:
tussen Oracle-databases, moeten gebruikers de gewenste SID <— opgeven. De
SID is opgenomen in de CONNECT DATA-gedeelten van de connect-descriptors
in een TNSNAMES.ORA-bestand en in de definitie van de netwerklistener
in het bestand LISTENER.ORA. Ook bekend als systeem-ID. Oracle-servicenaam
kan alles beschrijvend zijn, zoals “MyOracleServiceORCL”. In Windows,
U kunt uw servicenaam als een service uitvoeren onder Windows Services.

U zou SID in TNSNAMES.ORA als een betere benadering moeten gebruiken.

Other episodes