Qualcuno può spiegarmi qual è la differenza tra SID, Nome DB, Dominio DB, Nome database globale, Nome servizio, Alias servizio e Nome istanza in Oracle?
Grazie Michael
Qualcuno può spiegarmi qual è la differenza tra SID, Nome DB, Dominio DB, Nome database globale, Nome servizio, Alias servizio e Nome istanza in Oracle?
Grazie Michael
Risposte:
SID = identifica l'istanza del database (nome del database + numero dell'istanza). Pertanto, se il nome del database è somedb e il numero di istanza è 3, il SID è somedb3.
Nome DB = Nome del database (il database può essere condiviso da più istanze)
Dominio DB = Solitamente uguale al dominio della tua azienda (somecompany.com)
Nome database globale = Nome database + dominio database (somedb.somecompany.com)
Nome servizio = Un "connettore" per una o più istanze. È spesso utile creare nomi di servizi aggiuntivi in un ambiente RAC poiché il servizio può essere modificato per utilizzare determinati SID come connessioni primarie o secondarie o per non utilizzare affatto determinati SID.
Service Alias = Un alias per il nome del servizio (proprio come un CNAME, ecc.). Supponiamo che il nome del tuo servizio sia significativo per il dba, ma forse è un po 'esoterico. Creare un alias di servizio e denominarlo come qualcosa che sarà significativo per l'utente.
Nome istanza = uguale a SID
default service name
= global db name
?
Il modo in cui descrivi SID è solo il comportamento PREDEFINITO in una configurazione RAC. Il SID (== nome_istanza) è proprio questo: il nome della tua istanza.
Lo guardo sempre così: un'istanza è un'istanza del software RDBMS. Un'istanza MOUNTS un file di controllo, (modifica montaggio database) In questo controfile viene scritta la posizione dei file di dati. la raccolta di file di dati (ok, e i file di controllo) == il database.
Un database ha un nome, il nome_db e (facoltativamente) un dominio (dominio_db) -> insieme nome_db globale. Ora immagina di replicare (DataGuard) il tuo database. Vorresti mantenere lo stesso DB_name, giusto? (Voglio dire: per quanto riguarda i dati, è il database SAME) Ma allora come identificare le due 'versioni' del tuo database? Inserisci "DB_UNIQUE_NAME" ... Sì, si sta confondendo ...
La mia pratica personale è di nominare INSTANCE come db_unique_name in una configurazione DataGuard e rimanere con i nomi RAC (db_name + Instance_Number) in una configurazione RAC. Quindi, i nomi_db_unique che compongo, sono generalmente come nome_db + suffisso 1 lettera (MYDBa MYDBb ecc.)
Saluti, Paul
SID è un'istanza. Meglio evitare di usare il termine "istanza di database", solo istanza.
"SID = identifica l'istanza del database (nome database + numero istanza)" è errata. "Un'istanza, è un'istanza del software RDBMS" è errata. Un DBMS disinstallato o installato è solo DBMS.
"Dominio DB = generalmente uguale al dominio della tua azienda" dovrebbe essere evitato. Ho riscontrato un problema con l'utilizzo del dominio e i problemi scompaiono quando non si utilizza il dominio.
Anche "Nome database globale = nome database + dominio database" è errato. Il nome del database globale è il nome del servizio. È così semplice.
"SID = identifica l'istanza del database (nome del database + numero dell'istanza). Quindi, se il nome del tuo database è somedb e il tuo numero di istanza è 3, allora il tuo SID è somedb3." è sbagliato. Non esiste una tale catenazione di identità o nome.