プライマリ・コンテンツに移動
Oracle® Real Application Clusters管理およびデプロイメント・ガイド
12cリリース1 (12.1)
B71323-07
目次へ移動
目次
索引へ移動
索引

前
次

一般的なデータベース・クライアント

Oracle Net Servicesを使用すると、CONNECT_TIMEOUTRETRY_COUNTおよびTRANSPORT_CONNECT_TIMEOUTパラメータをtnsnames.ora接続文字列に追加できます。

たとえば、SCANアドレスをデータベースのリモート・リスナーに使用する場合は次のようになります。

jdbc:oracle:thin:@(DESCRIPTION =(TRANSPORT_CONNECT_TIMEOUT=3)(CONNECT_TIMEOUT=60)(RETRY_COUNT=3)(FAILOVER=ON)(ADDRESS_LIST =(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-SCANVIP.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=GOLD)))Remote_listeners=CLOUD-SCANVIP.example.com:1521

たとえば、データベースのVIPを指すリモート・リスナーを使用する場合は次のようになります。

jdbc:oracle:thin:@(DESCRIPTION =
(TRANSPORT_CONNECT_TIMEOUT=3)
(CONNECT_TIMEOUT=60)(RETRY_COUNT=3)(FAILOVER=ON)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-VIP1)(PORT=1521) )
(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-VIP2)(PORT=1521) )
(ADDRESS=(PROTOCOL=tcp)(HOST=CLOUD-VIP3)(PORT=1521) ))
(CONNECT_DATA=(SERVICE_NAME=GOLD)))

これらのパラメータの値を表す単位は秒です。前述の例では、Oracle Netは各完全接続が応答を受信するのを60秒待機した後、障害が発生したと想定して、ADDRESS_LISTの次のリストを再試行します。Oracle Netは、アドレス・リストを3回試行すると、クライアントに失敗メッセージを返します。TRANSPORT_CONNECT_TIMEOUTパラメータは、データベース・サーバーへのTCP接続の確立を待機する時間を設定します。

SCANの場合、クライアントに失敗を返す前に、(SCANにより返される) 3つのアドレスすべてがOracle Net Servicesによって試行されます。EZConnectとSCANを併用した場合、この接続のフェイルオーバー機能が使用できます。

この動作は、Oracle Net接続フェイルオーバーと呼ばれます。リスト内の選択されたアドレスからエラーが戻されると、Oracle Net Servicesによってリストの次のアドレスが試行され、接続が成功するか、またはリスト内に試行するアドレスがなくなるまで続けられます。