1. 程式人生 > >Oracle 例項名/服務名 請問SID和Service Name有什麼區別啊

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系統,我這個例項叫做什麼。這些易混淆的名字,你要記住,
他們不是指資料庫,就是指例項,就這兩個東西,別無其它。他們具體用哪個名字,是要看對誰而言,
是什麼場合。是對資料庫,還是對作業系統,還是對外部連結。就像你對父母而言,你有小名叫么兒;
對同學而言,你有外號叫燈泡;對辦事機構,你有正規的名字叫王小明。但歸根到底,是一回事。分清楚這點,就不容易混了。

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed