Oracle Net Services の構成
透過的アプリケーション・フェイルオーバーの場合、Oracle データベース・サーバーの tnsnames.ora ファイルと sqlnet.ora ファイルを編集することによって、Oracle Net Services を構成する必要があります。
手順
例
以下のファイルの情報は、透過的アプリケーション・フェイルオーバーの構成方法の例です。
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を使用してください。 カーソルは正しい位置に移動するため、クライアントは行の取り出しを中断せずに続行することができます。