Oracle Net Services の構成

透過的アプリケーション・フェイルオーバーの場合、Oracle データベース・サーバーの tnsnames.ora ファイルと sqlnet.ora ファイルを編集することによって、Oracle Net Services を構成する必要があります。

手順

  1. Oracle ホーム・ディレクトリーの network¥admin ディレクトリーにある tnsnames.ora ファイルと sqlnet.ora ファイルを見つけます。
    注: これらのファイルは Instant Client インストール済み環境には存在しません。 その場合、ファイルを作成する必要があります。 これらのファイルは同じディレクトリーに存在する必要があります。 例えば、Instant Client ディレクトリーにこれらのファイルを保存するという選択もできます。
  2. テキスト・エディターでファイルを開きます。
    注: 透過的アプリケーション・フェイルオーバーを構成するには、 Oracle Net Manager ではなくテキスト・エディターを使用して、これらのファイルを編集する必要があります。
  3. ご使用の環境に合わせてファイルを構成します。

以下のファイルの情報は、透過的アプリケーション・フェイルオーバーの構成方法の例です。sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES= (NONE)
NAMES.DIRECTORY_PATH= (TNSNAMES)

tnsnames.ora:

PRODONE =
(DESCRIPTION_LIST =
  (FAILOVER = true)
  (LOAD_BALANCE = false)
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = YourFirstHost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = dedicated)
        (FAILOVER_MODE = 
           (BACKUP = PRODTWO)
           (TYPE = select)
           (METHOD = basic)
           (RETRIES = 20)
           (DELAY = 3)
        )
      (SERVICE_NAME = ORCL)
    )
  )
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = YourSecondHost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )
)

PRODTWO =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = YourSecondHost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )
)
注:
  • 透過的アプリケーション・フェイルオーバーを使用すると、接続されたインスタンスに障害が発生した場合や、接続されたインスタンスがシャットダウンしている場合、アダプターが自動でデータベースに再接続することができます。 透過的アプリケーション・フェイルオーバーにより、アプリケーションは指定された 2 次インスタンスに透過的に再接続することができます。 この再接続プロセスは、オリジナルの接続と同一である新規接続を作成します。
  • tnsnames.ora ファイルでは、PRODONE は、透過的アプリケーション・フェイルオーバーおよび接続時フェイルオーバー (CTF) の両方を定義するネット・サービス別名の例です。 DESCRIPTION_LIST の最初の記述 (DESCRIPTION) は、透過的アプリケーション・フェイルオーバーを定義します。 DESCRIPTION_LIST の 2 番目の記述 (DESCRIPTION) は、接続時フェイルオーバーを定義します。
  • 透過的アプリケーション・フェイルオーバーの記述は、YourFirstHost への確立された接続が失敗した場合、PRODTWO ネット・サービス別名を経由して YourSecondHost に接続がフェイルオーバーすることを示します。 接続時フェイルオーバーの記述は、初期接続の前に YourFirstHost がダウンしている場合、YourSecondHost に接続がフェイルオーバーすることを示します。
  • select タイプは、透過的アプリケーション・フェイルオーバーの機能の 1 つです。 SELECT ステートメントの処理中に最初の接続が失敗した場合、新規の接続が確立されるときにそのステートメントが再実行されることを示すために、selectを使用してください。 カーソルは正しい位置に移動するため、クライアントは行の取り出しを中断せずに続行することができます。