oracle11g開始,設(shè)置了SCAN ip,除此之外還有public ip,virtual ip,private ip,容易讓人犯暈。
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)冀州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。下面逐一解釋:
public ip:
類似與單實(shí)例的oracle數(shù)據(jù)庫(kù)ip,主要用于管理\訪問。
virtual ip(vip):
oracle在rac架構(gòu)中專用,這個(gè)vip用于實(shí)現(xiàn)故障轉(zhuǎn)移,當(dāng)一個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),其vip會(huì)“浮動(dòng)”到另外一個(gè)正常的節(jié)點(diǎn),也即該正常節(jié)點(diǎn)對(duì)應(yīng)著兩個(gè)vip了。
SCAN:
Single Client Access Name,單一客戶訪問名稱,意思是客戶端(如jdbc,pl/sql等)訪問數(shù)據(jù)庫(kù)時(shí)的公共域名,由于rac是多節(jié)點(diǎn)的,客戶端要訪問數(shù)據(jù)庫(kù),通過(guò)scan機(jī)制,只需要提供一個(gè)訪問名稱,oracle rac會(huì)自動(dòng)為客戶端分配一個(gè)節(jié)點(diǎn),這對(duì)客戶端來(lái)說(shuō)是透明的。
private ip:私有ip,oracle 內(nèi)部用于節(jié)點(diǎn)間通訊的ip,不對(duì)外開放。
public ip:
必須是專用ip,必須在安裝oracle rac前配置好,能與網(wǎng)絡(luò)連通。public ip,vip,scan ip必須在同一個(gè)網(wǎng)絡(luò)網(wǎng)段內(nèi)。
vip:
必須是專用ip,必須安裝oracle rac前配置好,能與網(wǎng)絡(luò)連通,public ip,vip,scan ip必須在同一個(gè)網(wǎng)絡(luò)網(wǎng)段內(nèi)。該ip及域名雖然配置,但必須保持不能使用(不能被訪問,如ping)。
scan :
建議通過(guò)dns配置三個(gè)專用ip,在安裝前必須配置好,當(dāng)有請(qǐng)求者時(shí),由dns隨機(jī)分配。暫不使用。scan ip需要給出唯一的名字,也即三個(gè)ip對(duì)應(yīng)一個(gè)域名。名字只能是字符和'-'。oracle不推薦通過(guò)hosts文件來(lái)配置,那樣只能得到一個(gè)scan ip。
scan也是一個(gè)虛擬ip名,類似與虛擬ip名,但不同的是,虛擬ip是一個(gè)節(jié)點(diǎn)一個(gè)ip地址一個(gè)域名,scan是針對(duì)整個(gè)cluster的,一個(gè)域名對(duì)應(yīng)著多個(gè)節(jié)點(diǎn),多個(gè)ip地址。
private ip:
必須是專用ip,必須在安裝前配置好,必須在一個(gè)專用私有網(wǎng)絡(luò)中,只能被另外的rac節(jié)點(diǎn)解析,不能被其它網(wǎng)絡(luò)解析。從11.2.0.2開始,oracle可以自動(dòng)使用至多4塊私有網(wǎng)卡,以實(shí)現(xiàn)內(nèi)部節(jié)點(diǎn)的負(fù)載均衡及冗余。
GNS:Grid Naming Service。
以下是網(wǎng)上的資料
在Oracle
RAC環(huán)境下,每個(gè)節(jié)點(diǎn)都會(huì)有多個(gè)IP地址,分別為Public/Private/Vip,這三個(gè)IP到底有啥區(qū)別呢?分別用在那些場(chǎng)合呢?來(lái)看看老外的回答。
1. private IP address is used only for internal clustering
processing (Cache Fusion)
私有IP用于心跳同步,這個(gè)對(duì)于用戶層面,可以直接忽略,簡(jiǎn)單理解,這個(gè)Ip用來(lái)保證兩臺(tái)服務(wù)器同步數(shù)據(jù)用的私網(wǎng)IP。
2. virtual IP is used by database applications to enable fail over
when one cluster node fails
虛擬IP用于客戶端應(yīng)用,以支持失效轉(zhuǎn)移,通俗說(shuō)就是一臺(tái)掛了,另一臺(tái)自動(dòng)接管,客戶端沒有任何感覺。
這也是為什么要使用RAC的原因之一,另一個(gè)原因,我認(rèn)為是負(fù)載均衡。
3. public IP adress is the normal IP address typically used by DBA
and SA to manage storage, system and database.
公有IP一般用于管理員,用來(lái)確??梢圆僮鞯秸_的機(jī)器,我更愿意叫他真實(shí)IP。
通過(guò)上述解釋,不難理解作為一個(gè)DBA,在配置tnsnames.ora時(shí),有些場(chǎng)合是要使用的vip,而有些場(chǎng)合又必須使用public
IP。例如,當(dāng)你在定位一個(gè)數(shù)據(jù)庫(kù)的死鎖時(shí),使用public
ip,可以確保連到你想處理的機(jī)器,相反此時(shí)使用虛擬ip時(shí),會(huì)出現(xiàn)不確定性,因?yàn)榉?wù)器默認(rèn)是開啟負(fù)載均衡的,也就是有可能你想連A機(jī),系統(tǒng)卻給你分配了B機(jī)。
例如:
下面的例子就是使用的VIP
infodb8 =
(DESCRIPTION=
(ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.81)(PORT= 1521))
(ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.82)(PORT= 1521))
(LOAD_BALANCE= yes)
(FAILOVER= ON)
(CONNECT_DATA=
(SERVER= DEDICATED)
(SERVICE_NAME= infodb)
(FAILOVER_MODE=
(TYPE=SELECT)
(METHOD= BASIC)
(RETRIES= 30)
(DELAY= 5)
)
))
下面的例子就是使用的Public IP,指定連接1機(jī),注意紅色字體infodb1進(jìn)一步限制連接的實(shí)例。
INFODB83 =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL= TCP)(HOST=138.*.1.83)(PORT= 1521))
)
(CONNECT_DATA=
(SERVICE_NAME= infodb)
(INSTANCE_NAME= infodb1)
)
(HS = OK)
)
Oracle RAC中每個(gè)節(jié)點(diǎn)都有一個(gè)虛擬IP,簡(jiǎn)稱VIP,與公網(wǎng)IP在同一個(gè)網(wǎng)段。
沒有VIP時(shí),Oracle客戶端是靠“TCP/IP協(xié)議棧超時(shí)”來(lái)判斷服務(wù)器故障。而TCP/IP協(xié)議棧是作為OS Kernel的一部分來(lái)實(shí)現(xiàn),不同的OS有不同的閥值,用戶獲悉數(shù)據(jù)庫(kù)異常的時(shí)間完全取決于OS Kernel的實(shí)現(xiàn),雖然有些OS允許修改這個(gè)閥值,但是會(huì)對(duì)其它程序產(chǎn)生未知影響。因此,oracle RAC引入了VIP,從而避開對(duì)TCP協(xié)議棧超時(shí)的依賴。
VIP和IP最主要的不同之處在于:VIP是浮動(dòng)的,而IP是固定的。在所有節(jié)點(diǎn)都正常運(yùn)行時(shí),每個(gè)節(jié)點(diǎn)的VIP會(huì)被分配到public NIC上;在linux下ifconfig查看,public網(wǎng)卡上是2個(gè)IP地址;如果一個(gè)節(jié)點(diǎn)宕機(jī),這個(gè)節(jié)點(diǎn)的VIP會(huì)被轉(zhuǎn)移到還在運(yùn)行的節(jié)點(diǎn)上。也就是幸存的節(jié)點(diǎn)的public NIC這個(gè)網(wǎng)卡上,會(huì)有3個(gè)IP地址。
當(dāng)一個(gè)節(jié)點(diǎn)宕機(jī),這個(gè)節(jié)點(diǎn)真實(shí)IP就連接不上了,但是這個(gè)節(jié)點(diǎn)的虛擬IP是可以連接的,他會(huì)自動(dòng)把客戶端的連接請(qǐng)求轉(zhuǎn)接給存活的節(jié)點(diǎn)。
在tnsname.ora文件里,指定Address列表,客戶端會(huì)隨機(jī)選擇一個(gè)節(jié)點(diǎn)來(lái)連接數(shù)據(jù)庫(kù),而不是順序選擇的。
VIP特點(diǎn):
1 VIP是在clusterware安裝最后階段,通過(guò)腳本VIPCA創(chuàng)建的;
2 VIP作為一個(gè)Nodeapps類型的CRS Resource注冊(cè)到OCR中,并由CRS維護(hù)狀態(tài);
3 VIP會(huì)綁定到節(jié)點(diǎn)的public 網(wǎng)卡上;那么public網(wǎng)卡就有兩個(gè)地址了;
4 當(dāng)某個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),CRS會(huì)把故障節(jié)點(diǎn)的VIP轉(zhuǎn)移到其他節(jié)點(diǎn)上;
5 每個(gè)節(jié)點(diǎn)的Listener會(huì)同時(shí)在public網(wǎng)卡的public IP和VIP兩個(gè)地址上監(jiān)聽;
6 客戶端的tnsname.ora一般會(huì)配置指向節(jié)點(diǎn)的VIP;
從上面第6條可以引出一個(gè)問題。如果增加一個(gè)節(jié)點(diǎn),那么客戶端的tnsname.ora需要加入新增節(jié)點(diǎn)的VIP。那么想象一下:多個(gè)客戶端,增加多個(gè)節(jié)點(diǎn),那么維護(hù)起來(lái)特別麻煩。因此到了Oracle11gR2,引入了一個(gè)scan的概念。
scan,single client access name。簡(jiǎn)單客戶端連接名,這是一個(gè)唯一的名稱,在整個(gè)公司網(wǎng)絡(luò)內(nèi)部唯一,并且在DNS中可以解析為三個(gè)ip地址,客戶端連接的時(shí)候只需要知道這個(gè)名稱,并連接即可,每個(gè)SCAN VIP對(duì)應(yīng)一個(gè)scan listener,cluster內(nèi)部的service在每個(gè)scan listener上都有注冊(cè),scan listener接受客戶端的請(qǐng)求,并foward到不同的Local listener中去,還是由local 的listener提供服務(wù)給客戶端。
注意:scan不一定要resolve到三個(gè)ip,一個(gè)也夠了。只不過(guò)為了防止scan單點(diǎn)故障而推薦3個(gè)。
VIP 原理和特點(diǎn)
Oracle 的TAF 就是建立在VIP 技術(shù)之上的。 IP 和VIP 區(qū)別在與: IP 是利用TCP層超時(shí), VIP 利用的是應(yīng)用層的立即響應(yīng)。VIP 它是浮動(dòng)的IP。 當(dāng)一個(gè)節(jié)點(diǎn)出現(xiàn)問題時(shí)會(huì)自動(dòng)的轉(zhuǎn)到另一個(gè)節(jié)點(diǎn)上。
假設(shè)有一個(gè)2個(gè)節(jié)點(diǎn)的RAC,正常運(yùn)行時(shí)每個(gè)節(jié)點(diǎn)上都有一個(gè)VIP。 VIP1 和VIP2. 當(dāng)節(jié)點(diǎn)2發(fā)生故障,比如異常關(guān)系。 RAC 會(huì)做如下操作:
1). CRS 在檢測(cè)到rac2節(jié)點(diǎn)異常后,會(huì)觸發(fā)Clusterware 重構(gòu),最后把rac2節(jié)點(diǎn)剔除集群,由節(jié)點(diǎn)1組成新的集群。
2). RAC的Failover 機(jī)制會(huì)把節(jié)點(diǎn)2的VIP轉(zhuǎn)移到節(jié)點(diǎn)1上,這時(shí)節(jié)點(diǎn)1的PUBLIC 網(wǎng)卡上就有3個(gè)IP 地址: VIP1,VIP2, PUBLIC IP1.
3). 用戶對(duì)VIP2的連接請(qǐng)求會(huì)被IP層路由轉(zhuǎn)到節(jié)點(diǎn)1
4). 因?yàn)樵诠?jié)點(diǎn)1上有VIP2的地址,所有數(shù)據(jù)包會(huì)順利通過(guò)路由層,網(wǎng)絡(luò)層,傳輸層。
5). 但是,節(jié)點(diǎn)1上只監(jiān)聽VIP1和public IP1的兩個(gè)IP地址。并沒有監(jiān)聽VIP2,故應(yīng)用層沒有對(duì)應(yīng)的程序接收這個(gè)數(shù)據(jù)包,這個(gè)錯(cuò)誤立即被捕獲。
6). 客戶段能夠立即接收到這個(gè)錯(cuò)誤,然后客戶段會(huì)重新發(fā)起向VIP1的連接請(qǐng)求。
VIP 特點(diǎn):
1). VIP 是通過(guò)VIPCA腳本創(chuàng)建的
2). VIP 作為Nodeapps類型的CRS Resource 注冊(cè)到OCR中,并由CRS 維護(hù)狀態(tài)。
3). VIP 會(huì)綁定到節(jié)點(diǎn)的public 網(wǎng)卡上,故public 網(wǎng)卡有2個(gè)地址。
4). 當(dāng)某個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),CRS 會(huì)把故障節(jié)點(diǎn)的VIP 轉(zhuǎn)移到其他節(jié)點(diǎn)上。
5). 每個(gè)節(jié)點(diǎn)的Listener 會(huì)同時(shí)監(jiān)聽public 網(wǎng)卡上的 public ip 和VIP
6). 客戶端的tnsnames.Ora 一般會(huì)配置指向節(jié)點(diǎn)的VIP.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。