Hoe SID verschillend is van Service naam in Oracle tnsnames.ora

Waarom heb ik er twee nodig? Als ik de ene of de andere moet gebruiken?

Oplossing

@DAC

In het kort: SID = de unieke naam van uw DB, ServiceName = de alias die bij het verbinden

Niet helemaal waar... SID = unieke naam van de INSTANCE (b.v. het oracle proces dat op de machine draait). Oracle beschouwt de "Database" als de bestanden.

Service Name = alias voor een INSTANCE (of vele instances). Het belangrijkste doel hiervan is als je een cluster draait, de client kan zeggen "connect me to SALES.acme.com", de DBA kan on the fly het aantal instances wijzigen dat beschikbaar is voor SALES.acme.com verzoeken, of zelfs SALES.acme.com naar een compleet andere database verplaatsen zonder dat de client instellingen hoeft te veranderen.

Commentaren (4)

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

Wat is het verschil tussen Oracle SIDs en Oracle SERVICE NAMES. Een configuratie-tool zoekt naar SERVICE NAME en dan zoekt de volgende naar SIDs! Wat's aan de hand?!

Oracle SID is de unieke naam die uniek identificeert uw instantie/database identificeert, terwijl Service name de TNS alias is die u geeft wanneer u op afstand verbinding maakt met uw database en deze Service naam is opgenomen in Tnsnames.ora bestand op uw clients en het kan hetzelfde zijn als SID en u kunt het ook een andere naam geven die u wilt.

SERVICE_NAME is de nieuwe functie vanaf oracle 8i en verder waarin de database zichzelf kan registreren bij listener. Als database is geregistreerd bij listener op deze manier dan kunt u gebruik maken SERVICE_NAME parameter in tnsnames.ora anders - gebruik SID in tnsnames.ora.

Ook als u OPS (RAC) heeft zult u verschillende SERVICE_NAME hebben voor elke instance.

SERVICE_NAMES specificeert een of meer namen voor de database service waaraan waarmee deze instantie verbinding maakt. Je kunt meerdere namen voor services opgeven om onderscheid te maken tussen verschillende gebruik van dezelfde database. Voor voorbeeld:

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

U kunt servicenamen ook gebruiken om een enkele service te identificeren die beschikbaar is in twee verschillende databases door het gebruik van replicatie.

In een Oracle Parallel Server omgeving, moet u deze parameter voor elke instantie instellen.

In het kort: SID = de unieke naam van uw DB-instance, ServiceName = de alias die wordt gebruikt bij het verbinden

Commentaren (1)

Volgens Oracle Glossary :

SID is een unieke naam voor een Oracle database instantie. ---> Om te schakelen tussen Oracle-databases, moeten gebruikers de gewenste SID SID is opgenomen in de CONNECT DATA-delen van de connect-descriptors in een TNSNAMES.ORA bestand, en in de definitie van de netwerk listener in het LISTENER.ORA bestand. Ook bekend als Systeem-ID. Oracle Service Naam kan iets beschrijvends zijn zoals "MyOracleServiceORCL". In Windows, U kunt uw Service Name draaien als een service onder Windows Services.

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

Commentaren (0)