Oracle 實例名/服務名 請問SID和Service_Name有什麼區別啊?

能夠簡單的這樣理解:一個公司比喻成一臺服務器,數據庫是這個公司中的一個部門。
1.SID:一個數據庫能夠有多個實例(如RAC),SID是用來標識這個數據庫內部每一個實例的名字,
就好像一個部門裏,每一個人都有一個本身的名字。
2.SERVICE_NAME:是這個數據庫對外宣稱的名字,外面的人要想鏈接我這個數據庫,
你就在客戶端的鏈接串裏寫上service_name。它就像一個部門的名字,這個部門的名稱在看門大爺(listener)那裏有登記,
看門大爺一看你是要找SERVICE_NAME這個部門,就告訴你咱們公司確實有這個部門,因而你就找到了,鏈接就創建了。


一句話來講就是:SID是對內的,是實例級別的一個名字,用來內部之間稱呼用。SERVICE_name是對外的,
是數據庫級別的一個名字,用來告訴外面的人,我數據庫叫"SERVICE_NAME"。
你能夠經過service_name參數指定這個名字是什麼,能夠有多個名字,名字隨便起,叫狗蛋,翠花都不要緊。
若是你不指定,默認的是Db_name. Db_domain,也就是global_name。
數據庫裏,還有ORACLE_SID,是告訴OS系統,我這個實例叫作什麼。這些易混淆的名字,你要記住,
他們不是指數據庫,就是指實例,就這兩個東西,別無其它。他們具體用哪一個名字,是要看對誰而言,
是什麼場合。是對數據庫,仍是對操做系統,仍是對外部連接。就像你對父母而言,你有小名叫幺兒;
對同窗而言,你有外號叫燈泡;對辦事機構,你有正規的名字叫王小明。但歸根到底,是一回事。分清楚這點,就不容易混了。
數據庫

相關文章
相關標籤/搜索