11g R2 RAC データベースへの接続フェイルオーバーとロードバランシング

EnterpriseZine / 2013年3月1日 0時0分

図2 クライアント・サイド・ロードバランシングとサーバー・サイド・ロードバランシング

第3回目は、11g R2 で導入されたポリシー管理型データベースと Single Client Access Name(SCAN) についてお伝えしました。 Oracle RAC は高い性能と高可用性を得るために、負荷分散と障害発生時に別のインスタンスへ再接続する機能が提供されています。しかしながら、これらの利点を享受するにはサーバー・サイドだけでは実現できず、クライアント・サイド機能の連携も必要となります。第4回目では、この高い性能と高可用性を得るために必要な接続フェイルオーバー、ロードバランシングなどのクライアントから RAC データベースへの接続に関わる機能と、SCAN導入により改良されたクライアント・サイドにおける接続設定について説明します。

■1. 接続フェイルオーバー

 接続フェイルオーバーは、何らかの障害によりRACデータベースへの接続が確立できない場合に他のノードへ再接続する機能です。

 Oracle RAC には新規接続時にエラーが発生した場合に再接続を試みる接続時フェイルオーバー(CTF:Connection Time Failover)と接続中にエラーが発生した場合に再接続を試みる透過的アプリケーション・フェイルオーバー(TAF:Transparent Application Failover)という 2 種類の接続フェイルオーバーが提供されています。

 

 

●接続時フェイルオーバー(CTF)

 接続時フェイルオーバーは、新規接続時にあるリスナーへの接続に失敗すると、別のリスナーに対して接続を試行する機能です。

 設定は tnsnames.ora の接続記述子に FAILOVER=ON を記述します。SCAN が導入されていないリリース11.1 以前では ADDRESS_LIST句 に VIP を列記していました。SCAN 利用時は、ADDRESS_LIST句に SCAN 名を指定すると、自動的に 3 つの SCAN VIP を使用した接続時フェイルオーバーの設定が行われます。また、ADDRESS_LIST句 に VIP を列記する必要がなくなることでノードの追加、削除の際に各クライアントの tnsnames.ora を編集する必要がなくなりました。
例:SCAN未導入時の設定方法(tnsnames.ora)=================================================================================TEST_CTF = (DESCRIPTION =   (ADDRESS_LIST =    (FAILOVER=ON)   (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP1])(PORT = 1521))    (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP2])(PORT = 1521))    (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP3])(PORT = 1521))   )  (CONNECT_DATA =   (SERVER = DEDICATED)   (SERVICE_NAME = orcl)  ) )=================================================================================例:SCANを利用した設定方法(tnsnames.ora)=================================================================================TEST_CTF = (DESCRIPTION =  (ADDRESS = (PROTOCOL = TCP)(HOST = [SCAN])(PORT = 1521))  (CONNECT_DATA =   (SERVER = DEDICATED)   (SERVICE_NAME = orcl)  ) )=================================================================================

  • 前のページ
    • 1
    • 2
  • 次のページ
EnterpriseZine

トピックスRSS

ランキング