Oracle 11gR2 RAC中的SCAN IP

來源:互聯網
上載者:User

標籤:oracle scan

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

在11gR2之前配置TNS串連串使用的都是VIP,如果RAC叢集添加節點或VIP有變化,就需要對所有的用戶端的TNS配置進行修改,這樣很麻煩,引入SCAN後就省去了這些麻煩。啟用SCAN 之後,會在資料庫與用戶端之間,添加了一層虛擬服務層,就是SCAN IP和SCAN IP Listener,在用戶端僅需要配置SCAN IP的tns資訊,通過SCANIP Listener,串連後台叢集資料庫。這樣,不論叢集資料庫是否有添加或者刪除節點的操作,均不會對用戶端產生影響,也就不需要修改配置。

1、配置SCAN有3種方法:

1.  使用/etc/hosts檔案

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

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

 650) this.width=650;" src="http://img.blog.csdn.net/20150114173124562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGlhbmxlc29mdHdhcmU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="border:none;height:auto;" />

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

 650) this.width=650;" src="http://img.blog.csdn.net/20150114173130703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGlhbmxlc29mdHdhcmU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="border:none;height:auto;" />

註:這部分摘自David的部落格http://blog.csdn.net/tianlesoftware/article/details/42712979,我困惑的是使用第一種方法也可以使用SCAN IP來串連到資料庫,但為什麼davide說還是需要使用VIP來串連?

配置完成後就可以在TNS串連串用SCAN IP來串連資料庫了。

2、SCAN工作流程

在啟用SCAN 特性之後,除了多幾個SCAN IP 之外,還會多幾個SCAN IP Listener,每個SCAN IP對應一個SCAN IP Listener,為了效能考慮,每個SCAN IP以及其對應的SCAN IP Listener將被獨立的分配到各個節點上。

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/97/DB/wKioL1kz9CWgNqnQAAB3nt68u74190.jpg" title="Scan.jpg" alt="wKioL1kz9CWgNqnQAAB3nt68u74190.jpg" />

從Oracle給出的圖中可以看到,圖的右邊是一個4個節點的RAC 叢集,所以有4個Local Listener。 配置了3個SCAN IP和3個 SCAN Listeners。這3個SCAN IP 是隨機的落在RAC節點上。

更多概念性的東西可以參考David的部落格:http://blog.csdn.net/tianlesoftware/article/details/42712979。

3、實際管理SCAN

在安裝RAC的時候,需要在/etc/hosts檔案中配置一條如下的資訊:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/97/DB/wKioL1kz9qXyymeiAAAFnHdRkDI382.png" title="1.png" alt="wKioL1kz9qXyymeiAAAFnHdRkDI382.png" />

啟動叢集後可以看到關於SCAN的服務,它們被分在叢集資源中,可以看到有vip服務和監聽服務

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/97/DB/wKioL1kz9xzz2EJ7AAA53Az1sVg854.png" title="1.png" alt="wKioL1kz9xzz2EJ7AAA53Az1sVg854.png" />

使用srvctl進行管理scan,下面為查看SCAN和SCAN_LISTENER的狀態和配置

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/97/D9/wKiom1kz946TBSUxAABH9w4DJcs490.png" title="1.png" alt="wKiom1kz946TBSUxAABH9w4DJcs490.png" />

下面看看SCAN Listenre的狀態,和監聽的服務

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/97/DB/wKioL1kz9-exQRMFAACwpNMWaYs518.png" title="1.png" alt="wKioL1kz9-exQRMFAACwpNMWaYs518.png" />從上面可以看到這一個SCAN Listener監聽著兩個執行個體,這是通過remote_listener參數來實現的。

從上在的配置中可以看出,現在這個叢集中只有一個SCAN IP,現在增加一個SCAN IP

先在兩個節點的/etc/hosts檔案中添加一個新的ip

192.168.56.27  rac-scan

添加完成後,修改SCAN服務

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/97/DB/wKioL1kz-ZWTZE0YAABFYbIsgPU261.png" title="1.png" alt="wKioL1kz-ZWTZE0YAABFYbIsgPU261.png" />

從中可以看到新的IP已經添加到了SCAN服務中,但還沒有運行,執行下面命令

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/97/DA/wKiom1kz_AuBdLw1AAAWYp8hHfM831.png" style="float:none;" title="1.png" alt="wKiom1kz_AuBdLw1AAAWYp8hHfM831.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/97/DB/wKioL1kz_AzRLEDWAAAaihYsetU513.png" style="float:none;" title="2.png" alt="wKioL1kz_AzRLEDWAAAaihYsetU513.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/97/DB/wKioL1kz_AzCucXPAAA8Kc1V3GI589.png" style="float:none;" title="3.png" alt="wKioL1kz_AzCucXPAAA8Kc1V3GI589.png" />

從上面的中可以看到雖然報錯了,但scan2服務仍然啟動了,虛擬IP也已經綁定到了網卡上

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/97/DB/wKioL1kz_Hagf4pRAAA9DxuoCk8980.png" title="1.png" alt="wKioL1kz_Hagf4pRAAA9DxuoCk8980.png" />但現在還只有一個SCAN Listener,下面啟動第二個監聽:

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M00/97/DB/wKioL1kz_aajEWnGAAAqqSCjDiI990.png" style="float:none;" title="1.png" alt="wKioL1kz_aajEWnGAAAqqSCjDiI990.png" />

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/97/DA/wKiom1kz_abwh8OqAAAqu3BIQWU691.png" style="float:none;" title="2.png" alt="wKiom1kz_abwh8OqAAAqu3BIQWU691.png" />

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/97/DB/wKioL1kz_aej7Iv0AAAgXWW5o78482.png" style="float:none;" title="3.png" alt="wKioL1kz_aej7Iv0AAAgXWW5o78482.png" />

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/97/DB/wKioL1kz_aeDXitDAABFRKFHZAM822.png" style="float:none;" title="4.png" alt="wKioL1kz_aeDXitDAABFRKFHZAM822.png" />

啟動監聽後查看第二個監聽是否有資料庫服務

650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/97/DB/wKioL1kz_e3gAu_DAACwmIei0fQ992.png" title="1.png" alt="wKioL1kz_e3gAu_DAACwmIei0fQ992.png" />測試使用新的SCAN IP串連資料庫

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/97/DB/wKioL1kz_oeCNisvAAAdWsN0O7o769.png" title="1.png" alt="wKioL1kz_oeCNisvAAAdWsN0O7o769.png" />

串連成功。


參考:Grid Infrastructure Single Client Access Name (SCAN) Explained (文檔 ID 887522.1)

http://docs.oracle.com/cd/E11882_01/rac.112/e41960/toc.htm

http://blog.csdn.net/tianlesoftware/article/details/42712979

本文出自 “DBA Fighting!” 部落格,請務必保留此出處http://hbxztc.blog.51cto.com/1587495/1932119

Oracle 11gR2 RAC中的SCAN IP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.