Domanda

Perché me ne servono due?Quando devo usare l'uno o l'altro?

È stato utile?

Soluzione

@DAC

In breve:Sid = il nome univoco del tuo db, servicename = l'alias usato durante la connessione

Non è propriamente vero..SID = nome univoco dell'ISTANZA (ad esempio il processo Oracle in esecuzione sulla macchina).Oracle considera il "Database" come i file.

Nome servizio = alias di un'ISTANZA (o più istanze).Lo scopo principale di ciò è che se si esegue un cluster, il client può dire "connettimi a SALES.acme.com", il DBA può modificare al volo il numero di istanze disponibili per le richieste di SALES.acme.com, o addirittura spostare SALES.acme.com in un database completamente diverso senza che il cliente debba modificare alcuna impostazione.

Altri suggerimenti

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

Qual è la differenza tra Oracle SIDS e i nomi dei servizi Oracle.Uno strumento di configurazione cerca il nome del servizio e poi il prossimo look per SIDS!Cosa sta succedendo?!

Oracle Sid è il nome univoco che identifica in modo univoco la tua istanza/database in cui come nome del servizio è l'alias TNS che si dà quando ti connetti in remoto al tuo database e questo nome del servizio viene registrato nel file tnsnames.ora sui tuoi clienti e può essere il Come Sid e puoi anche dargli qualsiasi altro nome che desideri.

Service_Name è la nuova funzionalità di Oracle 8i in cui il database può registrarsi con ascoltatore.Se il database è registrato con ascoltatore in questo modo, è possibile utilizzare il parametro Service_Name in TNSNames.ora altrimenti - Usa SID in tnsnames.ora.

Inoltre, se hai OPS (RAC) avrai diversi servizi per ogni istanza.

Service_Names Specifica uno o più nomi per il servizio di database a cui si collega questa istanza.È possibile specificare più nomi di servizi per distinguere tra gli usi diversi dello stesso database.Per esempio:

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

È inoltre possibile utilizzare i nomi dei servizi per identificare un singolo servizio disponibile da due diversi database attraverso l'uso della replica.

In un ambiente di server parallelo Oracle, è necessario impostare questo parametro per ogni istanza.

In breve:SID = il nome univoco dell'istanza database, ServiceName = l'alias utilizzato durante la connessione

So che questo è antico, tuttavia, quando si ha a che fare con strumenti, usi, utenti o sintomi complessi quali:sid & service naming one può aggiungere un po' di flessibilità alle voci tnsnames come:

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

Ho solo pensato di lasciarlo qui perché è leggermente rilevante per la domanda e può essere utile quando si tenta di aggirare alcune idiosincrasie meno che chiare del networking Oracle.

cos'è un SID e un nome di servizio

si prega di consultare la documentazione di Oracle all'indirizzo https://docs.oracle.com/cd/B19306_01/network.102/b14212/concepts.htm

Nel caso in cui il collegamento sopra non sia accessibile in futuro, al momento della stesura di questa risposta, il collegamento ti indirizzerà all'argomento "Servizio database e identificazione delle istanze del database" nel capitolo Concetti di connettività della "Guida per l'amministratore dei servizi di rete del database" .Questa guida è pubblicata da Oracle come parte della "Documentazione online del database Oracle, 10g Release 2 (10.2)"

Quando devo usare l'uno o l'altro?Perché me ne servono due?

Considera la mappatura seguente in un ambiente RAC,

SID      SERVICE_NAME
bob1    bob
bob2    bob
bob3    bob
bob4    bob

se è configurato il bilanciamento del carico, l'ascoltatore "bilancia" il carico di lavoro su tutti e quattro i SID.Anche se è configurato il bilanciamento del carico, puoi connetterti sempre a bob1, se lo desideri, utilizzando il SID anziché SERVICE_NAME.

Per favore, riferisci, https://community.oracle.com/thread/4049517

Secondo il Glossario Oracle:

SID è un nome univoco per un'istanza del database Oracle.---> Per passare da un database Oracle, gli utenti devono specificare il SID desiderato <---.Il SID è incluso nelle parti dei dati di connessione dei descrittori di connessione in un file tnsnames.ora e nella definizione dell'ascoltatore di rete nel file ascoltatore.ora.Conosciuto anche come ID di sistema.Il nome del servizio Oracle può essere qualcosa di descrittivo come "MyOracleserviceorcl".In Windows, puoi funzionare il tuo servizio come servizio in Windows Services.

Dovresti utilizzare SID in TNSNAMES.ORA come approccio migliore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top