SID是什麼?用於什麼場景

牛平發表於2018-03-11
問題背景:
    當在安裝資料庫的時候,發現有個SID的選項需要提供,究竟這個SID是什麼,有什麼作用?

SID是什麼?
REF:
The Oracle System ID () is used to uniquely identify a particular database on a system. For this reason, one cannot have more than one database with the same SID on a computer system.
When using , all instances belonging to the same database must have unique SID's.

    Oracle SID用於唯一的標識系統中的一個特別意義的資料庫,準確的說是資料庫例項( Oracle Instance ),由於這個描述,在一臺主機上,不會存在同一個SID的兩個資料庫例項。當使用RAC的時候,所有的屬於同一個資料庫的例項,必須具備不同的SID。

 SID是如何標識在一臺計算機的指定例項的呢?
    SID和Oracle_home一起雜湊成一個唯一的一個Key值,用於指向一個SGA,如果sid或者oracle_home任何一個無法正確設定,將無法正確附加在SGA之上。



如果想要切換不同的Oracle例項,使用者必須設定相應的SID環境變數。在Unix下使用如下指令

export ORACLE_SID=orcl


檢視SID:
    select instance from v$thread;

Note:Tom大師說,最好不要修改資料庫的SID。



與Service Name的不同:

SID從定義上看是用來標識在系統中的唯一的一個資料庫例項,而Service Name用於表示一個服務,這個服務可以由一個例項提供,也可以由多個例項來提供。ServiceName 用於客戶端遠端連線某臺資料庫使用,定義在客戶端的tnsnames.ora檔案之中,Service Name可以和SID一樣,也可以不一樣。伺服器端的ServiceName註冊於Listener之中。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29757574/viewspace-2151716/,如需轉載,請註明出處,否則將追究法律責任。

相關文章