RAC架構之業務分割

來源:互聯網
上載者:User

RAC架構之業務分割

我們在前面已經討論到了,RAC實際上是一個執行個體級的冗餘架構,應用可以按照需要任意或者隨機地串連到某個執行個體上進行業務操作。

據我所知,在大多的RAC架構中都是這樣設計的,這樣做有個好處就是實現了執行個體的冗餘,即使某個執行個體DOWN掉了,並不會影響業務的正常操作。

但是我們前面也提到,當資料區塊分布到不同執行個體的記憶體裡時,執行個體之間就會出現資料區塊的複製問題,這裡面涉及一系列的記憶體管理機制,Oracle稱之為Cache Fusion,這種記憶體間資料區塊傳遞的代價也是比較大的,甚至可能出現長時間的等待。

基於這個原因,在有些系統中,為了能夠高效地利用RAC架構,可以通過一種技術,將某類或者幾類的業務分配到某一個或者幾個執行個體上,另外的業務分配到其他的執行個體上。

這樣做的目的就是將操作相似的業務集中起來,資料區塊儘可能地集中在小範圍的記憶體中,避免了由於Cache Fusion導致的等待事件發生。

比如下面的例子,這是一個OLAP系統,有一個RAC,它由4個執行個體(分布在4台伺服器上)組成,這個資料庫主要有兩個功能,即資料載入和資料查詢。

由於這兩種業務彼此幾乎沒有交叉,所以我們考慮將它們分配到不同的執行個體上運行。

RAC架構上實現業務分割用表示11-3所示。

 

我們讓資料載入業務使用執行個體一和執行個體二,讓資料查詢業務使用執行個體三和執行個體四,這樣就達到了業務分割的目的。

下面我們來示範這種技術的實現。

SQL> select instance_name from gv$instance orderby 1;

 

INSTANCE_NAME

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

rac11

rac12

rac13

rac14

 

可以看到,當前的RAC是由4個執行個體構成的,執行個體名分別是:RAC11、RAC12、RAC13、RAC14。

我們可以通過使用服務(service)的方式來達到業務分割的目的。我們建立2個服務rac_load和rac_query,每個服務分配2個執行個體,其中rac_load分配RAC11和RAC12;rac_query分配RAC13和RAC14。

可以通過下面的方法來建立這兩個服務。

這是最初crs的狀態:

[oracle@node1 ~]$ crs_stat-t

Name          Type           Target    State    Host       

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

ora.db601.db  application       ONLINE   ONLINE    node3      

ora....11.inst application       ONLINE    ONLINE   node1      

ora....12.inst application       ONLINE    ONLINE   node2      

ora....13.inst application       ONLINE    ONLINE   node3      

ora....14.inst application       ONLINE    ONLINE   node4      

ora....SM1.asm application       ONLINE    ONLINE   node1      

ora....E1.lsnrapplication       ONLINE    ONLINE    node1      

ora.node1.gsd  application      ONLINE    ONLINE   node1      

ora.node1.ons  application      ONLINE    ONLINE   node1      

ora.node1.vip application       ONLINE   ONLINE    node1      

ora....SM2.asm application       ONLINE    ONLINE   node2      

ora....E2.lsnrapplication       ONLINE    ONLINE    node2      

ora.node2.gsd  application      ONLINE    ONLINE   node2      

ora.node2.ons  application      ONLINE    ONLINE   node2      

ora.node2.vip application       ONLINE   ONLINE    node2      

ora....SM3.asm application       ONLINE    ONLINE   node3      

ora....E3.lsnrapplication       ONLINE    ONLINE    node3      

ora.node3.gsd  application      ONLINE    ONLINE   node3      

ora.node3.ons  application      ONLINE    ONLINE   node3      

ora.node3.vip application       ONLINE   ONLINE    node3      

ora....SM4.asm application       ONLINE    ONLINE   node4      

ora....E4.lsnrapplication       ONLINE    ONLINE    node4      

ora.node4.gsd  application      ONLINE    ONLINE   node4      

ora.node4.ons  application      ONLINE    ONLINE   node4      

ora.node4.vip application       ONLINE   ONLINE    node4      

 

手工加入兩個服務rac_load和rac_query:

[oracle@node1 ~]$ srvctladd service -d rac -s rac_load-r "rac11,rac12"

[oracle@node1 ~]$ srvctladd service -d rac -s rac_query-r "rac13,rac14"

 

其中,參數-r表示優先使用的執行個體。

我們在建立服務時,可以指定業務優先選擇使用的執行個體和備用選擇的執行個體。

服務首先會使用優先執行個體,當優先執行個體不可用時,將使用可用執行個體。

因為這裡只是將服務進行執行個體分割,在同一組執行個體中並不需要設定優先權,所以將每個服務使用的執行個體都設定為優先使用,那麼用戶端將隨機串連任何一個執行個體上的服務。

 

[oracle@node1 ~]$ crs_stat-t

Name              Type               Target    State    Host       

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

ora.db601.db      application        ONLINE    ONLINE   node3      

ora....11.inst     application        ONLINE    ONLINE   node1      

ora....12.inst     application        ONLINE    ONLINE   node2      

ora....13.inst     application        ONLINE    ONLINE   node3      

ora....14.inst     application        ONLINE    ONLINE   node4      

ora....load.cs application      OFFLINE   OFFLINE              

ora....011.srv application      OFFLINE   OFFLINE              

ora....012.srv  application    OFFLINE   OFFLINE              

ora....uery.cs  application      OFFLINE   OFFLINE              

ora....013.srv application      OFFLINE   OFFLINE              

ora....014.srv application      OFFLINE   OFFLINE              

ora....SM1.asm     application        ONLINE    ONLINE   node1      

ora....E1.lsnr     application        ONLINE    ONLINE   node1      

ora.node1.gsd      application        ONLINE    ONLINE   node1      

ora.node1.ons      application        ONLINE    ONLINE   node1      

ora.node1.vip     application        ONLINE    ONLINE   node1      

ora....SM2.asm     application        ONLINE    ONLINE   node2      

ora....E2.lsnr     application        ONLINE    ONLINE   node2      

ora.node2.gsd      application        ONLINE    ONLINE   node2      

ora.node2.ons      application        ONLINE    ONLINE   node2      

ora.node2.vip     application        ONLINE    ONLINE   node2      

ora....SM3.asm     application        ONLINE    ONLINE   node3      

ora....E3.lsnr     application        ONLINE    ONLINE   node3      

ora.node3.gsd      application        ONLINE    ONLINE   node3      

ora.node3.ons      application        ONLINE    ONLINE   node3      

ora.node3.vip     application        ONLINE    ONLINE   node3      

ora....SM4.asm     application        ONLINE    ONLINE   node4      

ora....E4.lsnr     application        ONLINE    ONLINE   node4      

ora.node4.gsd      application        ONLINE    ONLINE   node4      

ora.node4.ons      application        ONLINE    ONLINE   node4       

ora.node4.vip     application        ONLINE    ONLINE   node4      

 

可以看到,一組名稱已經被加入到crs資源中,但是它們的狀態都是OFFLINE的。

可以使用不帶參數的crs_stat,這樣會看得更清楚。

 

本文節選自《讓Oracle跑得更快2—基于海量資料的資料庫設計與最佳化》一書。

圖書詳細資料:http://blog.csdn.net/broadview2006/article/details/6650914

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.