it-swarm-tr.com

SID, DB Adı, DB Etki Alanı, Genel Veritabanı Adı, Hizmet Adı, Hizmet Takma Adı ve Örnek Adı arasındaki Oracle farkı

Birisi bana Oracle'daki SID, DB Adı, DB Etki Alanı, Global Veritabanı Adı, Hizmet Adı, Hizmet Takma Adı ve Örnek Adı arasındaki farkın ne olduğunu açıklayabilir mi?

Teşekkürler Michael

14

SID = veritabanı örneğini tanımlar (veritabanı adı + örnek numarası). Veritabanı adınız somedb ise ve örnek numaranız 3 ise, SID'iniz somedb3 olur.

DB Adı = Veritabanının adı (veritabanı birden çok örnekle paylaşılabilir)

DB Domain = Genellikle şirket alanınızla aynıdır (somecompany.com)

Genel Veritabanı Adı = Veritabanı adı + veritabanı etki alanı (somedb.somecompany.com)

Hizmet Adı = Bir veya daha fazla örneğe bir "bağlayıcı". Hizmet, belirli SID'leri birincil veya ikincil bağlantılar olarak kullanmak veya belirli SID'leri hiç kullanmamak için değiştirilebildiğinden, RAC ortamında ek hizmet adları oluşturmak genellikle yararlıdır.

Hizmet Takma Adı = Hizmet adının takma adı (tıpkı CNAME gibi). Hizmet adınızı dba için anlamlı bir şey yaptığınızı varsayalım, ama belki biraz ezoteriktir. Bir hizmet takma adı oluşturun ve kullanıcı için anlamlı olacak bir ad verin.

Örnek adı = SID ile aynı

11
jswoods7

SID'yi tanımlama şekliniz yalnızca bir RAC yapılandırmasındaki VARSAYILAN davranıştır. SID (== örnek_adı) sadece şudur: Örneğin örneğinizin adı.

Her zaman şöyle bakarım: Bir Örnek, RDBMS yazılımının bir Örneğidir. Bir örnek bir kontrol dosyasını MONTE EDER (veritabanı montajını değiştirir) Bu kontrolde veri dosyalarının yeri yazılır. veri dosyalarının toplanması (tamam ve kontrol dosyaları) == veritabanı.

Bir veritabanının adı, db_name ve (isteğe bağlı olarak) bir etki alanı vardır (db_domain) -> birlikte global_db_name. Şimdi veritabanınızı kopyaladığınızı (DataGuard) düşünün. DB_adı aynı tutmak istiyorsun, değil mi? (Yani: data-wise, bu SAME veritabanı) Ama sonra veritabanınızın iki 'sürümünü' nasıl belirleyebilirim? 'DB_UNIQUE_NAME' girin ... Evet, kafası karışıyor ...

Kişisel pratiğim INSTANCE bir DataGuard kurulumunda db_unique_name gibi adlandırmak ve bir RAC kurulumunda RAC adları (db_name + Instance_Number) ile yapışmaktır. Ardından, oluşturduğum db_unique_names genellikle db_name + 1 harfli sonek (MYDBa MYDBb vb.) Gibidir.

Şerefe, Paul

4
paul

SID bir örnektir. 'Veritabanı örneği' terimini kullanmaktan kaçının, sadece örnek.

"SID = veritabanı örneğini tanımlar (veritabanı adı + örnek numarası)" yanlış. "Bir Eşgörünüm, RDBMS yazılımının bir Eşgörünümüdür" yanlış. Kaldırılmış veya kurulu bir DBMS sadece DBMS'dir.

"DB Domain = Genellikle şirketinizin domainiyle aynı" ifadelerden kaçınılmalıdır. Etki alanını kullanırken sorun yaşadım ve etki alanını kullanmadığınızda sorunlar kayboluyor.

"Genel Veritabanı Adı = Veritabanı adı + veritabanı etki alanı" da yanlış. Genel Veritabanı Adı Hizmet Adıdır. Bu kadar basit.

"SID = veritabanı örneğini tanımlar (veritabanı adı + örnek numarası). Dolayısıyla veritabanı adınız somedb ve örnek numaranız 3 ise, SID'niz somedb3 olur." Hata. Kimlik veya ismin böyle bir katenasyonu yoktur.

0
Bernaridho