天天看點

Oracle資料庫名,執行個體名,服務名的差別

DB_NAME:

①是資料庫名,長度不能超過8個字元,記錄在datafile、redolog和control file中

②在DataGuard環境中DB_NAME相同而DB_UNIQUE_NAME不同

③在RAC環境中,各個節點的DB_NAME 都相同,但是INSTANCE_NAME不同

④DB_NAME還在動态注冊監聽的時候起作用,無論是否定義了SERVICE_NAME,PMON程序都會使用DB_NAME動态注冊監聽

DBID:

①DBID可以看做是DB_NAME在資料庫内部的表示,它是在資料庫建立的時候用DB_NAME結合算法計算出來的

②它存在于datafile和control file中,用來表示資料檔案的歸屬,是以DBID是唯一的,對于不同的資料庫,DB_NAME可以是相同的,但是DBID一定是唯一的,例如在DataGuard中,主備庫的DB_NAME相同,但是DBID一定不同(看過一個很形象的例子,就是可以有同名的人,但是×××号碼一定不同)

DB_UNIQUE_NAME:

①在DataGuard中,主備庫擁有相同的DB_NAME,為了差別,就必須有不同的DB_UNIQUE_NAME

②DB_UNIQUE_NAME在DG中會影響動态注冊的SERVICE_NAME,即如果采用的是動态注冊,則注冊的SERVICE_NAME為DB_UNIQUE_NAME,但是執行個體還是INSTANCE_NAME,即SID

INSTANCE_NAME:

①資料庫執行個體的名稱,INSTANCE_NAME預設值是SID,一般情況下和資料庫名稱(DB_NAME)相同,也可不同

②initSID.ora 和orapwSID 檔案要與INSTANCE_NAME保持一緻

③INSTANCE_NAME會影響程序的名稱

繼續閱讀