多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > Oracle RAC 集群 SCAN 說明

Oracle RAC 集群 SCAN 說明

來源:程序員人生   發布時間:2015-03-06 08:46:06 閱讀次數:3815次


 

 

1   SCAN 概述

之前有網友在我Blog 留言說我的RAC 搭建中沒有寫SCAN 配置,這個之前應當是有寫過,但剛搜了1下,沒找到,正好重新整理1下,并做下實驗,實驗就用Oracle 12c 進行測試。

 

Oracle 11g 之前,我們去連接RAC 集群,都是配置以下的內容:

dave_rac=

(DESCRIPTION =

 (ADDRESS_LIST =

 (LOAD_BALANCE = yes)

  (FAILOVER=ON)

 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.68)(PORT = 1521))

 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.69)(PORT = 1521))

 )

 (CONNECT_DATA =

  (SERVICE_NAME = dave)

  (failover_mode=(type=select)(method=basic))

    )

  )

 

這里的68和69 是VIP 的地址,是PUBLIC 網卡上的虛擬IP。 那我們這里只有2個節點,如果我們增加了RAC的集群數,那末就需要修改所有的客戶真個配置,這個就很麻煩。

 

所以在Oracle 11gR2 中,引入了SCAN(Single ClientAccess Name)的特性。SCAN是1個域名,可以解析最少1個IP,最多解析3個SCAN IP,客戶端可以通過這個SCAN 名字來訪問數據庫,另外SCAN ip必須與public ip和VIP在1個子網。

 

啟用SCAN 以后,會在數據庫與客戶端之間,添加了1層虛擬的服務層,就是SCAN IP和SCAN IP Listener,在客戶端僅需要配置SCAN IP的tns信息,通過SCANIP Listener,連接后臺集群數據庫。這樣,不論集群數據庫是不是有添加或刪除節點的操作,均不會對客戶端產生影響,也就不需要修改配置。

 

配置SCAN有3種方法:


1.  使用/etc/hosts文件

這個是我們目前用的最多的方式,但是缺點只能對應1個SCAN IP,該方法Oracle 不推薦,但是簡單,不需要單獨的DNS 服務器,使用該方法,客戶端還是需要VIP來鏈接。 Oracle 推薦使用其他的2種方法來實現SCAN 功能。

 

2.  在DNS中定義域名,只需要在DNS中配置便可實現SCAN 功能。

 

 

3.  通過Grid Naming Server(GNS),需要配置DNS 和DHCP才能實現SCAN 功能。

   

 

 

配置好以后,直接在客戶真個tnsnames里寫SCAN NAME就能夠了,以下:

RACSCAN =

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.gns.cndba.com)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

            (SERVICE_NAME = dave)

    )

  )

 

以后RAC 增加刪除節點,客戶端都不需要修改。

 

 

2   SCAN 工作流程

在啟用SCAN 特性以后,除多幾個SCAN IP 以外,還會多幾個SCAN IP Listener,每一個SCAN IP對應1個SCAN IP Listener,為了性能斟酌,每一個SCAN IP和其對應的SCAN IP Listener將被獨立的分配到各個節點上。

 

如果Cluster中其中某個運行SCAN IP的節點出現異常,則其余正常的SCAN IP節點將自動接收。

 

如果客戶端是11g R2的版本,則客戶端只需在tns中配置域名解析,便可實現failover,如果客戶端版本低于11g R2,則沒法通過域名解析出多個SCAN IP地址,因此如果要實現failover,必須在客戶真個tns中配置3個SCAN IP的地址進行解析,這也是為什么Oracle強烈建議在使用11g R2數據庫時,客戶端也最好使用11g R2的緣由。

 

 

 

 

 

上圖是SCAN 的工作流程圖,圖的右側是1個4個節點的RAC 集群,所以有4個Local Listener。 配置了3個SCAN IP和3個 SCAN Listeners。這3個SCAN IP 是隨機的落在RAC節點上。

 

    客戶端鏈接的時候,會隨機的連接到某1個某1個SCAN IP及起對應的SCAN IP Listner上, SCAN IP Listener接收到連接要求時,會根據 LBA 算法(least loaded instance),將該客戶真個連接要求,轉發給對應的Instance上的VIP Listener,從而完成了全部客戶端與服務器的連接進程。

 

簡單點就是:

client -> scan listener -> locallistener -> local instance

 

3   SCAN 相干的幾個名詞說明

 

 

3.1             SCAN VIP

 

SCAN VIP,即SCAN IP,是由DNS或GNS、hosts解析出來的IP地址。目前SCANVIP最多能有3個,它們循環地被客戶端所要求到。

 

SCAN VIP數量和節點數沒有關系,正如上圖所示,4個節點,3個SCAN VIP,SCAN VIP是隨機的落在哪一個節點上的,這個進程也是動態變化的。

 

3.2             GNS VIP

GNS VIP同SCAN VIP, GNS VIP是提供GNS服務的IP地址,它綁定到某個節點的PUBLIC IP所在網卡上,當節點出現故障,GNS資源會自動切換到其他正常的節點繼續提供GNS解析服務。如果我們不使用GNS解析方法,那末也不會存在GNS VIP。

 

3.3             SCAN LISTENER

SCAN監聽器,實現SCAN的負載均衡功能。如果RAC上有3個SCAN VIP,那末SCAN監聽器也有3個,它們各自監聽SCAN VIP的連接要求。

 

SCAN監聽器的注冊是由REMOTE_LISTENER參數控制的,任何實例都會向所有的SCAN監聽器注冊,所以SCAN LISTENER 會包括所有實例的名稱。

 

這樣SCAN監聽器可以實時了解所有實例的運行情況的,因此能夠準確地將連接重定向到空閑服務器的本地監聽器上。

 

SCAN監聽器是隨著SCAN VIP隨機分配到節點服務器上,如果某個節點產生故障,運行在此節點上的SCANVIP會進行漂移,這時候候SCAN監聽器也隨著漂移到正常的節點上,繼續為SCAN VIP監聽連接要求,當PMON進程下次動態更新實例信息到該SCAN監聽器以后,它又重新接受客戶真個連接。

 

3.4             REMOTE_LISTENER

Oracle 參數,設置該參數以后,任何實例都會向SCAN監聽器注冊,所以SCAN監聽器能夠負載均衡地分發連接要求到節點本地監聽器上。

 

    由于SCAN IP有多個,他們對應的是同1個域名,因此在數據庫中,需要使用easyconnect naming method方式,需要修改sqlnet.ora的配置文件添加ezconnect,如:

NAMES.DIRECTORY_PATH=(tnsnames,ezconnect)。

 

 

    設置格式:REMOTE_LISTENER=SCAN:PORT,如REMOTE_LISTENER=rac-scan.cndba.cn:1521。

 

配置以后,RAC數據庫的每一個節點的PMON進程,會用廣播的方式向每一個SCAN Listener進行注冊,同時CRS的后臺進程ONS,會收集各個節點的負載狀態,通知SCAN Listener,以便SCAN Listener根據負載情況,將新連接分配到當前負載最低的節點上。

 

 

管理理論部份,就這么多,接下來,會整理2篇Oracle 12c 環境下使用DNS和GNS 實現SCAN 的Blog,具體的了解下如何實現這類功能。

 

 

參考:

Grid Infrastructure Single ClientAccess Name (SCAN) Explained (文檔 ID 887522.1)

 

 

 

 

 

--------------------------------------------------------------------------------------------

版權所有,文章制止轉載,否則追究法律責任!

 

AboutDave:

--------------------------------------------------------------------------------------------

QQ:     251097186

Email:    tianlesoftware@gmail.com

Blog:    http://blog.csdn.net/tianlesoftware

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

 

Dave 的QQ群:

--------------------------------------------------------------------------------------------

注意:加群必須注明表空間和數據文件關系 | 不要重復加群

CNDBA_1: 62697850 (空)    CNDBA_2: 62697716 (滿)   CNDBA_3: 283816689

CNDBA_4: 391125754   CNDBA_5: 104207940    CNDBA_6: 62697977   CNDBA_7: 142216823(滿)

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲图片欧美小说 | 欧美毛片免费观看 | 在线伊人网 | 最新日韩欧美不卡一二三区 | 91久久色 | 中文无码久久精品 | 久久久久欧美激情 | 亚洲精品一区二区三区四区 | jizz免费视频 | 国产一区二区三区四 | 亚洲综合五月 | 亚洲日本1区2区3区二区 | 中文在线免费看视频 | 性欧美videofree另类hd | 欧美午夜在线观看 | 亚洲高清不卡视频 | 最近中文字幕国语免费高清6 | 国产欧美亚洲三区久在线观看 | 91伊人网| 亚洲国产欧美日韩精品小说 | 黄色h网站 | 成人a在线观看 | 亚洲成人免费在线视频 | 精品国产欧美一区二区最新 | 久久综合亚洲一区二区三区 | 日韩 国产 在线 | 国产精品自拍在线观看 | 日本一级毛片免费 | 国产成人永久免费视 | 久操不卡| freesexvideos性大全性亚洲 | 成人免费视频在线看 | 99精品大香线蕉线伊人久久久 | 黄色亚洲视频 | www.插插插| 亚洲国产日韩欧美一区二区三区 | www亚洲视频| 亚洲精品久久久久久下一站 | 亚洲欧美日韩国产色另类 | 日产日韩亚洲欧美综合搜索 | 欧美日韩在线第一页 |