6 tnsnames.oraファイル内のローカル・ネーミング・パラメータ
この章では、tnsnames.oraファイルの構成パラメータについて説明します。
- ローカル・ネーミング・パラメータの概要
この項では、Oracle Netサービス名のローカル・ネーミング・パラメータについて概要を示します。 - tnsnames.oraの一般的な構文
この項では、一般的なtnsnames.oraファイルの構文について説明します。 - tnsnames.oraファイルでの複数記述子の使用
tnsnames.oraファイルの接続記述子について説明します。 - tnsnames.oraファイル内の複数のアドレス・リスト
tnsnames.oraファイル内で複数のアドレス・リストを構成する方法について説明します。 - Oracle Connection Managerによる接続時フェイルオーバーとクライアント・ロード・バランシング
tnsnames.oraファイルの接続記述子にOracle Connection Manager用のプロトコル・アドレスが2つ以上ある場合は、そのファイルに接続時フェイルオーバー用のパラメータとロード・バランシング用のパラメータを含めることもできます。 - 接続記述子の説明
接続記述子の指定には、DESCRIPTIONパラメータを使用します。複数の接続記述子の識別には、DESCRIPTION_LISTパラメータを使用します。 - プロトコル・アドレス
Oracle Net Servicesのプロトコル・アドレス・パラメータについて説明します。 - アドレス・リストのオプション・パラメータ
複数のアドレスの場合、オプションのパラメータを使用してアドレス・リストを構成できます。 - 接続データ・セクション
プロトコル・アドレスを使用してネットワーク接続を構成する方法について説明します。 - セキュリティ・セクション
- タイムアウト・パラメータ
tnsnames.oraファイルのタイムアウト・セクションでは、TNS接続文字列を介してタイムアウトと再試行の構成を指定できます。 - 圧縮パラメータ
tnsnames.oraファイルの圧縮セクションでは、圧縮を有効にし、圧縮レベルを指定できます。これらのパラメータは、接続文字列のDESCRIPTIONレベルで設定できます。
6.1 ローカル・ネーミング・パラメータの概要
この項では、Oracle Netサービス名のローカル・ネーミング・パラメータについて概要を示します。
tnsnames.oraファイルは、ローカル・ネーミング・メソッドに対する接続記述子にマップされたネットワーク・サービス名またはリスナー・プロトコル・アドレスにマップされたネット・サービス名を格納する構成ファイルです。
ネット・サービス名は、接続記述子に含まれているデータベース・ネットワーク・アドレスにマップされた別名です。接続記述子には、プロトコル・アドレスによってアクセスされるリスナーの場所と、接続先データベースのサービス名が含まれています。クライアントおよび別のデータベース・サーバーのクライアントであるデータベース・サーバーは、アプリケーションとの接続時にネット・サービス名を使用します。
デフォルトで、tnsnames.oraファイルはORACLE_HOME/network/adminディレクトリに配置されます。Oracle Netは、別のディレクトリに構成ファイルがないか確認します。たとえば、tnsnames.oraファイルの確認順序は次のとおりです。
- 環境変数
TNS_ADMINで指定されたディレクトリ。指定されたディレクトリにファイルがない場合、ファイルは存在しないとみなされます。 TNS_ADMIN環境変数を設定しない場合、Oracle Netは最初にORACLE_BASE_HOME/network/adminディレクトリを確認します。ORACLE_BASE_HOME/network/adminディレクトリにファイルが見つからない場合、Oracle NetはORACLE_HOME/network/adminディレクトリ内のファイルを確認します。
注意:
- Microsoft Windowsでは、プロセスの環境で設定されている場合、
TNS_ADMIN環境変数が使用されます。環境内でTNS_ADMIN環境変数を定義していない場合や、プロセスが環境を持たないサービスの場合、Microsoft WindowsはTNS_ADMINパラメータについてレジストリをスキャンします。 - Oracle Instant Clientでは、
tnsnames.oraファイルはOracle Instant Clientソフトウェアのサブディレクトリにあります。たとえば、/opt/oracle/instantclient_release_number/network/adminディレクトリなどです。
6.2 tnsnames.oraの一般的な構文
この項では、一般的なtnsnames.oraファイルの構文について説明します。
tnsnames.oraファイルの基本的な構文は、例6-1のとおりです。
例6-1 tnsnames.oraファイルの基本的な書式
net_service_name= (DESCRIPTION=(ADDRESS=(protocol_address_information))(CONNECT_DATA= (SERVICE_NAME=service_name)))
この例では、接続記述子がDESCRIPTIONに含まれていて、プロトコル・アドレスがADDRESSに含まれています。また、データベース・サービス識別情報がCONNECT_DATAに含まれています。
6.3 tnsnames.oraファイルでの複数記述子の使用
tnsnames.oraファイルの接続記述子について説明します。
tnsnames.oraファイルには、1つ以上の接続記述子を持つネット・サービス名を含めることができます。各接続記述子には、1つ以上のプロトコル・アドレスを含めることができます。次の例では、複数のアドレスを持つ2つの接続記述子を示しています。tnsnames.oraのパラメータDESCRIPTION_LISTは、接続記述子のリストを定義するために使用ます。
例6-2 tnsnames.ora内に複数の接続記述子を持つネット・サービス名
net_service_name= (DESCRIPTION_LIST= (DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))
(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=hr1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=hr2-svr)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=hr.us.example.com))))
注意:
Oracle Connection Managerを使用している場合、Oracle Net Managerでは1つのネット・サービス名に対する複数の接続記述子がサポートされません。
6.4 tnsnames.ora内の複数のアドレス・リスト
tnsnames.oraファイル内で複数のアドレス・リストを構成する方法について説明します。
tnsnames.oraファイルは、それぞれに独自の特性を備えた複数のアドレス・リストを持つ接続記述子をサポートしています。次の例は、2つのアドレス・リストを示しています。最初のアドレス・リストの特性は、クライアント・ロード・バランスがあり、接続時フェイルオーバーがないことです。こうした設定は、そのADDRESS_LIST内のプロトコル・アドレスにのみ適用されます。2番目のプロトコル・アドレス・リストでは、クライアント・ロード・バランシングは有効化されませんが、接続時フェイルオーバーは有効化されます。こうした設定は、そのADDRESS_LISTに含まれているプロトコル・アドレスにのみ適用されます。クライアントは、まず、最初のプロトコル・アドレスまたは2番目のプロトコル・アドレスをランダムに試行します。その後、3番目と4番目のプロトコル・アドレスを順序どおりに試行します。それ以降は同様の試行を繰り返します。
例6-3 tnsnames.oraファイル内の複数のアドレス・リスト
net_service_name= (DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=on) (FAILOVER=off) (ADDRESS=(protocol_address_information)) (ADDRESS=(protocol_address_information))) (ADDRESS_LIST= (LOAD_BALANCE=off) (FAILOVER=on) (ADDRESS=(protocol_address_information)) (ADDRESS=(protocol_address_information))) (CONNECT_DATA= (SERVICE_NAME=service_name)))
注意:
-
Oracle Net Managerでは、1つの接続記述子に対する1つのプロトコル・アドレス・リストの作成のみをサポートします。
-
Oracle Net Servicesでは、
tnsnames.oraのIFILEパラメータを、3段階までのネスト・レベルでサポートします。このパラメータはファイルに手動で追加する必要があります。この構文の例を次に示します。IFILE=/tmp/listener_em.ora IFILE=/tmp/listener_cust1.ora IFILE=/tmp/listener_cust2.ora
6.5 Oracle Connection Managerによる接続時フェイルオーバーとクライアント・ロード・バランシング
tnsnames.oraファイルの接続記述子にOracle Connection Manager用のプロトコル・アドレスが2つ以上ある場合は、そのファイルに接続時フェイルオーバー用のパラメータとロード・バランシング用のパラメータを含めることもできます。
例6-4 tnsnames.ora内の複数Oracle Connection Managerアドレス
この例は、複数のOracle Connection Managerプロトコル・アドレスのフェイルオーバーを示しています。
sample1=
(DESCRIPTION=
(SOURCE_ROUTE=yes)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1630)) # 1
(ADDRESS_LIST=
(FAILOVER=on)
(LOAD_BALANCE=off) # 2
(ADDRESS=(PROTOCOL=tcp)(HOST=host2a)(PORT=1630))
(ADDRESS=(PROTOCOL=tcp)(HOST=host2b)(PORT=1630)))
(ADDRESS=(PROTOCOL=tcp)(HOST=host3)(PORT=1521))) # 3
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))
この構文は、次のように動作します。
-
クライアントは、次のように示される最初のOracle Connection Managerのプロトコル・アドレスに接続します。
(ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1630)) -
Oracle Connection Managerは、もう1つのOracle Connection Managerの最初のプロトコル・アドレスに接続します。最初のプロトコル・アドレスへの接続が失敗した場合は、2番目のプロトコル・アドレスへの接続が試行されます。この順序は、次の構成によって指定されます。
(ADDRESS_LIST= (FAILOVER=on) (LOAD_BALANCE=off) (ADDRESS=(PROTOCOL=tcp)(HOST=host2a)(PORT=1630)) (ADDRESS=(PROTOCOL=tcp)(HOST=host2b)(PORT=1630))) -
Oracle Connection Managerは、次のプロトコル・アドレスを使用してデータベース・サービスに接続します。
(ADDRESS=(PROTOCOL=tcp)(HOST=host3)(PORT=1521))
例6-5 tnsnames.ora内のクライアント・ロード・バランシング
この例では、2つのOracle Connection Managerと2つのプロトコル・アドレスの間でのクライアント・ロード・バランシングが示されています。
sample2=
(DESCRIPTION=
(LOAD_BALANCE=on) # 1
(FAILOVER=on)
(ADDRESS_LIST=
(SOURCE_ROUTE=yes)
(ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1630)) # 2
(ADDRESS=(PROTOCOL=tcp)(HOST=host2)(PORT=1521)))
(ADDRESS_LIST=
(SOURCE_ROUTE=yes)
(ADDRESS=(PROTOCOL=tcp)(HOST=host3)(port=1630))
(ADDRESS=(PROTOCOL=tcp)(HOST=host4)(port=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))) # 3
この構文は、次のように動作します。
-
クライアントはランダムに
ADDRESS_LISTを選択します。選択したADDRESS_LISTに障害がある場合は別のアドレスにフェイルオーバーします。これは、LOAD_BALANCEパラメータとFAILOVERパラメータをonに設定した場合に示されます。 -
ADDRESS_LISTが選択されると、クライアントは、まず、そのADDRESS_LISTに指定されているポート1630を使用するOracle Connection Managerプロトコル・アドレスを使用してOracle Connection Managerに接続します。 -
次に、Oracle Connection Managerは、
ADDRESS_LISTに指定されているプロトコル・アドレスを使用してデータベース・サービスに接続します。
6.6 接続記述子の説明
接続記述子の指定には、DESCRIPTIONパラメータを使用します。複数の接続記述子の識別には、DESCRIPTION_LISTパラメータを使用します。
- DESCRIPTION_LIST
tnsnames.oraファイルのDESCRIPTION_LISTパラメータでは、特定のネット・サービス名に対する接続記述子のリストを定義します。 - DESCRIPTION
tnsnames.oraファイルのDESCRIPTIONパラメータは、接続識別子のコンテナを指定するために使用します。
6.6.1 DESCRIPTION_LIST
tnsnames.oraファイルのDESCRIPTION_LISTパラメータでは、特定のネット・サービス名に対する接続記述子のリストを定義します。
用途
特定のネット・サービス名に関する接続記述子のリストを定義します。
例6-6 例
net_service_name=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=...)
(CONNECT_DATA=(SERVICE_NAME=sales.example.com)))
(DESCRIPTION=
親トピック: 接続記述子の説明
6.6.2 DESCRIPTION
tnsnames.oraファイルのDESCRIPTIONパラメータは、接続識別子のコンテナを指定するために使用します。
用途
接続記述子のコンテナを指定します。
使用上の注意
複数のDESCRIPTIONパラメータを使用する場合は、そのパラメータをDESCRIPTION_LISTパラメータの下に配置します。
例6-7 DESCRIPTIONパラメータの例
net_service_name=
(DESCRIPTION=
(ADDRESS=...)
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))親トピック: 接続記述子の説明
6.7 プロトコル・アドレス
Oracle Net Servicesのプロトコル・アドレス・パラメータについて説明します。
tnsnames.oraファイルのプロトコル・アドレス・セクションでは、リスナー・プロトコル・アドレスを指定します。リスナーのプロトコル・アドレスが1つのみの場合、ADDRESSパラメータを使用します。アドレスが複数ある場合は、ADDRESS_LISTパラメータを使用します。
- ADDRESS
tnsnames.oraのパラメータADDRESSでは、プロトコル・アドレスを指定します。複数のアドレスの指定にはADDRESS_LISTを使用し、1つのリスナーの指定にはDESCRIPTIONを使用します。 - HTTPS_PROXY
tnsnames.oraのパラメータHTTPS_PROXYの使用について説明します。このパラメータでは、SSLクライアント接続をトンネリングするためのHTTPプロキシ・ホスト名を指定します。 - HTTPS_PROXY_PORT
tnsnames.oraのパラメータHTTPS_PROXY_PORTを使用して、トンネリングSSLクライアント接続用にフォワードHTTPプロキシ・ホスト・ポートを指定する方法について説明します。 - ADDRESS_LIST
ADDRESS_LISTネットワーク・パラメータは、プロトコル・アドレスの数を指定します。
6.7.1 ADDRESS
tnsnames.oraのパラメータADDRESSでは、プロトコル・アドレスを指定します。複数のアドレスの指定にはADDRESS_LISTを使用し、1つのリスナーの指定にはDESCRIPTIONを使用します。
用途
1つのリスナー・プロトコル・アドレスを指定します。
使用上の注意
このパラメータは、ADDRESS_LISTパラメータまたはDESCRIPTIONパラメータの下に配置します。
ADDRESSパラメータの例
net_service_name=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-svr)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))親トピック: プロトコル・アドレス
6.7.2 HTTPS_PROXY
tnsnames.oraのパラメータHTTPS_PROXYの使用について説明します。このパラメータでは、SSLクライアント接続をトンネリングするためのHTTPプロキシ・ホスト名を指定します。
用途
SSLクライアント接続をトンネリングするためのHTTPプロキシ・ホスト名を指定します。
使用上の注意
クライアントは、HTTP CONNECTメソッドを使用することで、HTTPプロキシを通じたセキュアな接続をトンネリングできます。これにより、クライアント側のファイアウォールでアウトバウンド・ポートをオープンする必要がなくなるため、パブリック・クラウド・データベースにアクセスしやすくなります。このパラメータはPROTOCOL=TCPSが指定されている接続記述子に対してのみ適用可能です。これは、インターネットのホストに接続する必要があるイントラネット・ユーザーのWebブラウザ設定に似ています。フォワードWebプロキシの読取りタイムアウトは、クライアントの問合せに応じてより大きな値に設定できます。そうしないと、フォワードWebプロキシがクライアントからのリクエストがないものと見なして接続をクローズします。
正常に接続できるかどうかは、プロキシ構成の内容によって決まります。データ転送のパフォーマンスは、プロキシの能力に応じて決まります。この機能は、パフォーマンスが重要な本番環境では使用しないことをお薦めします。
組織のネットワーク構成およびセキュリティ・ポリシーによっては、HTTPプロキシに対してtnsnames.oraを構成しても安全性が十分に確保できないことがあります。たとえば、一部のネットワークではHTTPプロキシのユーザー名とパスワードが必要となります。
Oracle Database 18cより前のバージョンのOracle Clientでは、HTTPプロキシを通じた接続がサポートされません。
HTTPプロキシを経由することなく、関連するポートを使用してoraclecloud.comドメイン内のホストへのアウトバウンド接続を開く場合は、ネットワーク管理者と相談してください。たとえば、ポート1522を使用します。
デフォルト
なし
値
インターネットのホストへのアウトバウンド接続を確立できるHTTPプロキシ・ホスト名。
例
HTTPS_PROXY=www-proxy.mycompany.com
親トピック: プロトコル・アドレス
6.7.3 HTTPS_PROXY_PORT
tnsnames.oraのパラメータHTTPS_PROXY_PORTを使用して、トンネリングSSLクライアント接続用にフォワードHTTPプロキシ・ホスト・ポートを指定する方法について説明します。
用途
トンネリングSSLクライアント接続のフォワードHTTPプロキシ・ホスト・ポートを指定します。
使用上の注意
HTTP CONNECTメソッドを受信するHTTPプロキシ・ホスト・ポートをフォワードします。このパラメータは、HTTPS_PROXY_PORTとともに使用します。HTTPS_PROXY_PORTパラメータの値は、sqlnet.oraファイルでSQLNET.USE_HTTPS_PROXY=1が設定されている場合のみ反映されます。
デフォルト
なし
値
ポート番号
例
HTTPS_PROXY_PORT=80
親トピック: プロトコル・アドレス
6.7.4 ADDRESS_LIST
ADDRESS_LISTネットワーク・パラメータは、プロトコル・アドレスの数を指定します。
用途
プロトコル・アドレスのリストを定義します。
使用上の注意
リスナーのプロトコル・アドレスが1つのみの場合、ADDRESS_LISTは不要です。
このパラメータは、DESCRIPTIONパラメータまたはDESCRIPTION_LISTパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))親トピック: プロトコル・アドレス
6.8 アドレス・リストのオプション・パラメータ
複数のアドレスの場合は、オプションのパラメータを使用してアドレス・リストを構成できます。
- ENABLE
- EXPIRE_TIME
EXPIRE_TIMEパラメータは、リモート・サーバー接続がアクティブになっていることを確認する頻度(分単位)を指定するために使用します。 - FAILOVER
- LOAD_BALANCE
- RECV_BUF_SIZE
- SDU
- SEND_BUF_SIZE
- SOURCE_ROUTE
- TYPE_OF_SERVICE
- ENVSパラメータ
このパラメータは、リスナーの環境変数を指定する場合に使用します。
6.8.1 ENABLE
用途
コール元が終了したリモート・サーバーを検出する場合、通常、通知に2時間以上かかります。
使用上の注意
接続文字列内のDESCRIPTIONパラメータの下に(ENABLE=broken)を埋め込むことにより、サポートされているTCP転送のキープアライブ機能をネット・サービス・クライアントに対して有効にできます。クライアント側では、tcp_keepaliveのデフォルト値はoffです。オペレーティング・システムのTCP構成はプラットフォームによって異なりますが、実際のキープアライブ時間の詳細情報を定義します。
値
broken
例
net_service_name=
(DESCRIPTION=
(ENABLE=broken)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
前述の例には複数のアドレスが含まれていますが、ADDRESS_LISTパラメータは使用されていません。これは、ADDRESS_LISTパラメータは必須ではないためです。
親トピック: アドレス・リストのオプション・パラメータ
6.8.2 EXPIRE_TIME
EXPIRE_TIMEパラメータは、リモート・サーバー接続がアクティブになっていることを確認する頻度(分単位)を指定するために使用します。
用途
リモート・サーバー接続がアクティブになっていることを確認する頻度(分単位の時間間隔)を指定します。
使用上の注意
Oracle Net Servicesにより、プローブがアイドル・アクティビティの後に送信されるようにTCPのキープアライブ設定のパラメータがチューニングされます。
終了した接続の検出機能の使用に関する制限は、次のとおりです。
- Bequeathed接続には使用できません。
- プローブ・パケットにより通信量がわずかに増加するため、ネットワーク・パフォーマンスが低下する可能性があります。
- オペレーティング・システムによっては、その他のイベントと接続プローブ・イベントを区別するために、サーバーで追加の処理が必要になる場合があります。これも、ネットワーク・パフォーマンスの低下を招く可能性があります。
デフォルト
0
最小値
0
推奨値
10
例
net_service_name=
(DESCRIPTION=
(EXPIRE_TIME=10)
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))親トピック: アドレス・リストのオプション・パラメータ
6.8.3 FAILOVER
用途
複数のプロトコル・アドレスに対して接続時フェイルオーバーを使用可能または使用禁止にします。
使用上の注意
このパラメータをon、yesまたはtrueに設定すると、Oracle Netは、接続時に最初のプロトコル・アドレスに障害があった場合に別のアドレスにフェイルオーバーします。このパラメータをoff、noまたはfalseに設定すると、Oracle Netは、1つのプロトコル・アドレスを使用します。
このパラメータは、DESCRIPTION_LISTパラメータ、DESCRIPTIONパラメータまたはADDRESS_LISTパラメータの下に配置します。
注意:
listener.oraのSID_LIST_listener_nameセクションには、GLOBAL_DBNAMEパラメータを設定しないでください。静的に構成されたグローバル・データベース名では、接続時フェイルオーバーは無効になります。
デフォルト
on: DESCRIPTION_LIST、DESCRIPTIONおよびADDRESS_LISTパラメータの場合
値
-
yes|on|true -
no|off|false
例
net_service_name=
(DESCRIPTION=
(FAILOVER=on)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))親トピック: アドレス・リストのオプション・パラメータ
6.8.4 LOAD_BALANCE
用途
複数のプロトコル・アドレスに対してクライアント・ロード・バランシングを使用可能または使用禁止にします。
使用上の注意
このパラメータをon、yesまたはtrueに設定すると、Oracle Netは、無作為の順序でアドレスのリストを進み、各種リスナーまたはOracle Connection Managerのプロトコル・アドレスにかかる負荷を均衡化します。パラメータをoff、noまたはfalseに設定すると、Oracle Netでは、接続に成功するまでプロトコル・アドレスを順番に試します。
このパラメータは、DESCRIPTION_LISTパラメータ、DESCRIPTIONパラメータまたはADDRESS_LISTパラメータの下に配置します。
デフォルト
on: DESCRIPTION_LISTの場合
値
-
yes|on|true -
no|off|false
例
net_service_name=
(DESCRIPTION=
(LOAD_BALANCE=on)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))親トピック: アドレス・リストのオプション・パラメータ
6.8.5 RECV_BUF_SIZE
用途
セッションの受信操作に使用するバッファ領域をバイト数で指定します。
使用上の注意
このパラメータは、TCP/IP、SSL付きTCP/IP、SDPの各プロトコルでサポートされます。
このパラメータは、DESCRIPTIONパラメータの下またはプロトコル・アドレスの最後に配置します。
クライアントの接続記述子にこのパラメータを設定すると、クライアント側のsqlnet.oraファイルのRECV_BUF_SIZEパラメータが上書きされます。
注意:
オペレーティング・システムによっては、他のプロトコルもこのパラメータをサポートしている場合があります。他のプロトコルの詳細は、オペレーティング・システムのマニュアルを参照してください。
デフォルト
このパラメータのデフォルト値は、オペレーティング・システムによって異なります。Linux 2.6オペレーティング・システムのデフォルト値は87380バイトです。
例
net_service_name= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-server)(PORT=1521) (RECV_BUF_SIZE=11784)) (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-server)(PORT=1521) (RECV_BUF_SIZE=11784)) (CONNECT_DATA= (SERVICE_NAME=sales.us.example.com)))net_service_name= (DESCRIPTION= (RECV_BUF_SIZE=11784) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=hr1-server)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=hr2-server)(PORT=1521))) (CONNECT_DATA= (SERVICE_NAME=hr.us.example.com)))
関連項目:
このパラメータの構成方法の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
親トピック: アドレス・リストのオプション・パラメータ
6.8.6 SDU
用途
ネットワークを介して送信されるデータ・パッケージの転送レートを、指定されたセション・データ・ユニット(SDU)・サイズで最適化するようにOracle Netに指示します。
使用上の注意
このパラメータは、DESCRIPTIONパラメータの下に配置します。
クライアントの接続記述子にこのパラメータを設定すると、クライアント側のsqlnet.oraファイルのDEFAULT_SDU_SIZEパラメータが上書きされます。
デフォルト
8192バイト(8KB)
値
512から2097152バイト。
例
net_service_name=
(DESCRIPTION=
(SDU=8192)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-server)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-server)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com))親トピック: アドレス・リストのオプション・パラメータ
6.8.7 SEND_BUF_SIZE
用途
セッションの送信操作に使用するバッファ領域をバイト数で指定します。
使用上の注意
このパラメータは、TCP/IP、SSL付きTCP/IP、SDPの各プロトコルでサポートされます。
このパラメータは、DESCRIPTIONパラメータの下またはプロトコル・アドレスの最後に配置します。
クライアントの接続記述子にこのパラメータを設定すると、クライアント側のsqlnet.oraファイルのSEND_BUF_SIZE パラメータが上書きされます。
注意:
オペレーティング・システムによっては、他のプロトコルもこのパラメータをサポートしている場合があります。他のプロトコルの詳細は、オペレーティング・システムのマニュアルを参照してください。
デフォルト
このパラメータのデフォルト値は、オペレーティング・システムによって異なります。Linux 2.6オペレーティング・システムのデフォルト値は16KBです。
例
net_service_name= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-server)(PORT=1521) (SEND_BUF_SIZE=11784)) (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-server)(PORT=1521) (SEND_BUF_SIZE=11784))) (CONNECT_DATA= (SERVICE_NAME=sales.us.example.com)))net_service_name= (DESCRIPTION= (SEND_BUF_SIZE=11784) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=hr1-server)(PORT=1521) (ADDRESS=(PROTOCOL=tcp)(HOST=hr2-server)(PORT=1521))) (CONNECT_DATA= (SERVICE_NAME=hr.us.example.com)))
関連項目:
このパラメータの構成方法の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
親トピック: アドレス・リストのオプション・パラメータ
6.8.8 SOURCE_ROUTE
用途
複数のプロトコル・アドレスによるルーティングを使用可能にします。
使用上の注意
このパラメータをonまたはyesに設定すると、Oracle Netは、接続先に到達するまで順番に各アドレスを使用します。
Oracle Connection Managerを使用するには、クライアントからOracle Connection Managerへの第1接続、およびOracle Connection Managerからリスナーへの第2接続が必要です。
このパラメータは、DESCRIPTION_LISTパラメータ、DESCRIPTIONパラメータまたはADDRESS_LISTパラメータの下に配置します。
デフォルト
off
値
-
yes|on -
no|off
例
net_service_name=
(DESCRIPTION=
(SOURCE_ROUTE=on)
(ADDRESS=(PROTOCOL=tcp)(HOST=cman-pc)(PORT=1630))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))関連項目:
構成情報の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
親トピック: アドレス・リストのオプション・パラメータ
6.8.9 TYPE_OF_SERVICE
用途
Oracle RDBデータベースに使用するサービスのタイプを指定します。
使用上の注意
このパラメータは、アプリケーションがOracle RDBとOracleデータベース・サービスの両方をサポートし、この両者間のロード・バランシングをアプリケーションで行うようにする場合にのみ使用してください。
このパラメータは、DESCRIPTIONパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=...)
(CONNECT_DATA=
(SERVICE_NAME=generic)
(RDB_DATABASE=[.mf]mf_personal.rdb)
(GLOBAL_NAME=alpha5))
(TYPE_OF_SERVICE=rdb_database))
(DESCRIPTION=
(ADDRESS=...)
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com))
(TYPE_OF_SERVICE=oracle11_database)))親トピック: アドレス・リストのオプション・パラメータ
6.8.10 ENVSパラメータ
このパラメータは、リスナーの環境変数を指定する場合に使用します。
用途
ENVSパラメータを使用して、専用サーバー・プログラムまたはPROGRAMパラメータで指定された実行可能ファイルを実行する前に(子プロセスとして)設定するリスナーの環境変数を指定します。
このパラメータをSID_DESCパラメータの下に埋め込みます。
使用上の注意
環境変数およびその値を二重引用符(")で囲みます。
(ENVS="variable=value")
環境変数のリストとその値を指定できます。リストは二重引用符で端から端まで囲み、カンマで環境変数定義を区切ります。環境変数定義の区切りにスペースは使用しないでください。
次に例を示します。
(ENVS="variable=value,variable=value")
注意:
一重引用符(')が、下位互換性のためにサポートされています。環境変数内またはその値定義内に次の文字を使用することはできません。
- カンマ(,)
- 一重引用符(')
- 二重引用符(")
- 等号(=)
例
SID_LIST_listener_name=
(SID_LIST=
(SID_DESC=
(SID_NAME=plsextproc)
(ORACLE_HOME=/oracle20c)
(PROGRAM=extproc)
(ENVS="LD_LIBRARY_PATH=/u01/app/product/oracle/lib:/u01/app/product/oracle/ctx/lib""))
(SID_DESC=
(SID_NAME=test)
(PROGRAM=/tmp/myexec)
(ENVS="LD_LIBRARY_PATH=/private/xpm/lib:/private/mylibs,MYPATH=/usr/ucb:/usr/local/packages,APL_ENV_FILE=/apl/conf/env.txt")))
注意:
このパラメータはMicrosoft Windowsではサポートされていません。リスナーによって開始されたプロセスは、リスナーの環境を継承します。親トピック: アドレス・リストのオプション・パラメータ
6.9 接続データ・セクション
プロトコル・アドレスを使用してネットワーク接続を構成する方法について説明します。
ネットワーク・オブジェクトは、プロトコル・アドレスによって識別されます。接続が確立されると、クライアントとリクエストの受信者(リスナーまたはOracle Connection Manager)が同じプロトコル・アドレスで構成されます。クライアントは、このアドレスを使用して接続リクエストを特定のネットワーク・オブジェクトが存在する場所に送信し、受信者はこのアドレスでリクエストのリスニングを行い、クライアント情報が自分の持っているアドレス情報に一致するかどうかに基づいて接続を許可します。
6.9.1 CONNECT_DATA
用途
SERVICE_NAMEなど、接続先サービスを定義します。
使用上の注意
このパラメータは、DESCRIPTIONパラメータの下に配置します。
CONNECT_DATAには、次のパラメータも指定できます。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))親トピック: 接続データ・セクション
6.9.2 FAILOVER_MODE
用途
実行時に最初のリスナーが失敗した場合に別のリスナーにフェイルオーバーするようOracle Netに指示します。
使用上の注意
構成によっては、実行していたセッションまたはSELECT文が自動的にフェイルオーバーされます。
この種類のフェイルオーバーは、透過的アプリケーション・フェイルオーバー(TAF)と呼ばれます。接続時フェイルオーバーのFAILOVERパラメータと混同しないでください。
このパラメータは、CONNECT_DATAパラメータの下に配置します。
追加のパラメータ
FAILOVER_MODEは、次のパラメータをサポートします。
-
BACKUP: フェイルオーバー・ノードをネット・サービス名により指定します。フェイルオーバー・ノードに対しては個別のネット・サービス名を作成する必要があります。 -
TYPE: フェイルオーバー・タイプを指定します。Oracle Call Interface(OCI)アプリケーションでは、デフォルトで3種類のOracle Netフェイルオーバー機能を使用できます。-
SESSION: セッションをフェイルオーバーします。たとえば、ユーザーの接続が消失した場合、バックアップ上にそのユーザーの新規セッションが自動的に作成されます。このタイプのフェイルオーバーは、リカバリ選択を試行しません。 -
SELECT: オープン・カーソルを持つユーザーはフェッチに失敗してもフェッチを継続できます。ただしこのモードでは、通常の検索操作を行うクライアント側にオーバーヘッドが生じます。 -
NONE: これがデフォルトで、フェイルオーバー機能は使用されません。フェイルオーバーが実行されないように、明示的に指定することもできます。
-
-
METHOD: 1次ノードからバックアップ・ノードへのフェイルオーバーの実行速度を指定します。-
BASIC: フェイルオーバー時に接続を確立します。このオプションでは、フェイルオーバー時間までバックアップ・データベース・サーバーでの作業はほとんど不要です。 -
PRECONNECT: 接続を事前に確立します。フェイルオーバーは高速に行われますが、バックアップ・インスタンスはサポートされた各インスタンスからの接続すべてをサポートできる必要があります。
-
-
TRANSACTION: リカバリ可能なエラーの後、データベースで現行のデータベース・トランザクションが完了するようにします。このパラメータはCOMMIT_OUTCOME=TRUEパラメータとともに使用します。 -
RETRIES: フェイルオーバー後の接続試行回数を指定します。DELAYが指定されている場合、RETRIESは5回の試行回数にデフォルト設定されます。 -
DELAY: 接続試行の間隔を秒数で指定します。RETRIESが指定されている場合、DELAYは1秒にデフォルト設定されます。
注意:
コールバック関数が登録されている場合、RETRIESパラメータおよびDELAYパラメータは無視されます。
親トピック: 接続データ・セクション
6.9.3 GLOBAL_NAME
用途
Oracle RDBデータベースを識別します。
使用上の注意
このパラメータは、CONNECT_DATAパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=generic)
(RDB_DATABASE=[.mf]mf_personal.rdb)
(GLOBAL_NAME=alpha5)))親トピック: 接続データ・セクション
6.9.4 HS
用途
Oracle以外のシステムには異機種間サービスを介して接続するようにOracle Netに指示します。
使用上の注意
このパラメータは、CONNECT_DATAパラメータの下に配置します。
デフォルト
なし
値
ok
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SID=sales6)
)
(HS=ok))親トピック: 接続データ・セクション
6.9.5 INSTANCE_NAME
用途
アクセスするデータベース・インスタンスを識別します。
使用上の注意
値は、初期化パラメータ・ファイルのINSTANCE_NAMEパラメータに指定されている値に設定します。
このパラメータは、CONNECT_DATAパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)
(INSTANCE_NAME=sales1)))関連項目:
INSTANCE_NAMEの使用方法の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
親トピック: 接続データ・セクション
6.9.6 RDB_DATABASE
用途
Oracle RDBデータベースのファイル名を指定します。
使用上の注意
このパラメータは、CONNECT_DATAパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)
(RDB_DATABASE= [.mf]mf_personal.rdb)))親トピック: 接続データ・セクション
6.9.7 SHARDING_KEY
用途
データベース・リクエストを特定のシャードにルーティングします。
使用上の注意
このパラメータは、CONNECT_DATAパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)
((SHARDING_KEY=40598230))))関連項目:
SHARDING_KEYパラメータの使用方法の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください
親トピック: 接続データ・セクション
6.9.8 SUPER_SHARDING_KEY
用途
データベース・リクエストをシャードの集合にルーティングします。
使用上の注意
このパラメータは、CONNECT_DATAパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)
((SHARDING_KEY=40598230)(SUPER_SHARDING_KEY=gold)))関連項目:
SUPER_SHARDING_KEYパラメータの使用方法の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください
親トピック: 接続データ・セクション
6.9.9 SERVER
用途
クライアントを特定タイプのサービス・ハンドラに接続するようにリスナーに指示します。
使用上の注意
このパラメータは、CONNECT_DATAパラメータの下に配置します。
値
-
dedicated: クライアントのリクエストが専用サーバーによって処理されるかどうかを指定します。 -
shared: クライアントのリクエストがディスパッチャまたは共有サーバーによって処理されるかどうかを指定します。 -
pooled: データベース常駐の接続プーリングがサーバー上で有効化されている場合、接続プールから接続を取得します。
注意:
-
クライアントが共有サーバー・プロセスでデータベースに接続するには、共有サーバーはデータベース初期化ファイルに構成されている必要があります。
-
sqlnet.oraファイルのUSE_DEDICATED_SERVERパラメータは、このパラメータよりも優先されます。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)
(SERVER=dedicated)))親トピック: 接続データ・セクション
6.9.10 SERVICE_NAME
用途
アクセスするOracle Databaseデータベース・サービスを識別します。
使用上の注意
値は、初期化パラメータ・ファイルのSERVICE_NAMESパラメータに指定されている値に設定します。
このパラメータは、CONNECT_DATAパラメータの下に配置します。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))親トピック: 接続データ・セクション
6.9.11 COLOCATION_TAG
用途
リスナーに対して、同じcolocation_tagを持つすべての接続を同じデータベース・インスタンスにルーティングするように指示します。
使用上の注意
このパラメータは、CONNECT_DATAパラメータとともに使用します。
パラメータ値は、英数字文字列にする必要があります。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=...)
(ADDRESS=...))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)
(COLOCATION_TAG=abc)))注意:
ある条件下、たとえばインスタンスの最大ロードに達した場合や、サービスに対して新しいインスタンスが追加または削除された場合は、同じデータベース・インスタンスに対して同じcolocation_tagを持つクライアント接続のコロケーションは一貫していない可能性があります。
親トピック: 接続データ・セクション
6.10 セキュリティ・セクション
tnsnames.oraファイルのセキュリティ・セクションでは、Oracleセキュリティ機能で使用するセキュリティに関連する次のパラメータを指定します。
- SECURITY
- SSL_SERVER_CERT_DN
- IGNORE_ANO_ENCRYPTION_FOR_TCPS
IGNORE_ANO_ENCRYPTION_FOR_TCPSパラメータは、この特定のTNS別名についてSQLNET.ENCRYPTION_CLIENTパラメータを無視する必要があるかどうかを指定します。 - WALLET_LOCATIONパラメータ
WALLET_LOCATIONパラメータは、TLS証明書を格納する別のウォレットの場所を指定するために使用します。
6.10.1 SECURITY
用途
接続のセキュリティ・プロパティを変更します。このパラメータは、DESCRIPTIONパラメータの下に配置します。
使用上の注意
SECURITYで使用できるパラメータは、SSL_SERVER_CERT_DNおよびAUTHENTICATION_SERVICEです。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com))
(SECURITY=
(SSL_SERVER_CERT_DN="cn=sales,cn=OracleContext,dc=us,dc=acme,dc=com")))親トピック: セキュリティ・セクション
6.10.2 SSL_SERVER_CERT_DN
用途
データベース・サーバーの識別名(DN)を指定します。
使用上の注意
サーバーDNは、事前にクライアント側で認識しておく必要があります。そうしていないと、クライアントはSSL_SERVER_CERT_DNでサーバーのDNを指定できません。クライアントは、この情報を使用して、各サーバーに予定しているDNリストを取得し、データベース・サーバーのDNがそのサービス名と一致していることを確認します。完全DN一致を使用する場合は、このパラメータをサーバーDNに設定する必要があります(例: SSL_SERVER_CERT_DN="finance, cn=OracleContext,c=us,o=example")。部分DN一致の場合は、このパラメータを含めないでください。
このパラメータは、sqlnet.oraのSSL_SERVER_DN_MATCHパラメータと併用することで完全DN一致が有効になります。
例
finance=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL = tcps) (HOST = finance)
(PORT = 1575)))
(CONNECT_DATA=
(SERVICE_NAME=finance.us.example.com))
(SECURITY=
(SSL_SERVER_CERT_DN="cn=finance,cn=OracleContext,c=us,o=example")))親トピック: セキュリティ・セクション
6.10.3 IGNORE_ANO_ENCRYPTION_FOR_TCPS
IGNORE_ANO_ENCRYPTION_FOR_TCPSパラメータは、この特定のTNS別名についてSQLNET.ENCRYPTION_CLIENTパラメータを無視する必要があるかどうかを指定します。
用途
この特定のTNS別名についてSQLNET.ENCRYPTION_CLIENTパラメータを無視する必要があるかどうかを指定します。
使用上の注意
SQLNET.ENCRYPTION_SERVERをrequiredに設定する必要がある場合は、SQLNET.ENCRYPTION_CLIENTとSQLNET.ENCRYPTION_SERVERの両方でIGNORE_ANO_ENCRYPTION_FOR_TCPSパラメータをTRUEに設定できます。これにより、すべての発信TCPS接続のSQLNET.ENCRYPTION_CLIENTパラメータに設定されている値がクライアントで無視されるようになります。
デフォルト
FALSE例6-8 例
test_ssl=
(DESCRIPTION =
(ADDRESS=(PROTOCOL=tcps)(HOST=)(PORT=1750))
(CONNECT_DATA=(SID=^ORACLE_SID^))
(SECURITY=(IGNORE_ANO_ENCRYPTION_FOR_TCPS=TRUE))
) 親トピック: セキュリティ・セクション
6.10.4 WALLET_LOCATIONパラメータ
WALLET_LOCATIONパラメータは、TLS証明書を格納する別のウォレットの場所を指定するために使用します。
用途
WALLET_LOCATIONを使用すると、クライアント接続で、証明書を使用する個別のTransort Layer Security (TLS)接続を確立できます。これにより、クライアントは異なるTLS証明書を使用した複数のTLS接続を同じクライアント・プロセスで開始するようになります。
複数のTLSセッションに依存する必要がある単一のクライアントが存在する場合は、この機能を使用します。たとえば、複数のプラガブル・データベース(PDB)へのアクセスが必要なクライアントが、それぞれ独自のID (証明書)を持つ場合です。この機能により、クライアントが各PDBの正しいIDに接続するように構成できます。構成が完了すると、マルチスレッド・クライアントは、同時TLSセッションで異なる証明書を持つ複数のウォレットにアクセスできるようになります。
使用上の注意
このパラメータは、接続固有のウォレットを示します。様々な接続が様々なウォレットをクライアント側で使用する必要がある場合、このパラメータを使用できます。
例
net_service_name=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com))
(SECURITY=(wallet_location=/home/oracle/wallets/databases)))
WALLET_LOCATIONは、sqlnet.oraファイルとtnsnames.oraファイルの両方で使用できます。tnsnames.oraでWALLET_LOCATIONを使用すると、特定のtnsnames.oraサービス用のsqlnet.ora内にあるWALLET_LOCATIONが上書きされます。
次に例を示します。
ssl_certs1 =
(DESCRIPTION =
(ADDRESS=(PROTOCOL=tcps)(HOST=shobeen.us.example.com) (PORT=1750))
(CONNECT_DATA=(SID=sales_pdb))
(SECURITY=(WALLET_LOCATION=/oracle/wallets/certificates/sales_cert))
)
ssl_certs2 =
(DESCRIPTION =
(ADDRESS=(PROTOCOL=tcps)(HOST=shobeen.us.example.com) (PORT=1750))
(CONNECT_DATA=(SID=marketing_pdb))
(SECURITY=(WALLET_LOCATION=/oracle/wallets/certificates/marketing_cert))
)
親トピック: セキュリティ・セクション
6.11 タイムアウト・パラメータ
tnsnames.oraファイルのタイムアウト・セクションでは、TNS接続文字列を介してタイムアウトと再試行の構成を指定できます。
次のパラメータを接続文字列のDESCRIPTIONレベルで設定できます。
6.11.1 CONNECT_TIMEOUT
用途
クライアントがOracle DatabaseへのOracle Net接続を確立するときのタイムアウト時間をms、secまたはminで指定します。
使用上の注意
このパラメータは、DESCRIPTIONパラメータの下に配置します。
CONNECT_TIMEOUTで指定されたタイムアウト間隔は、TCP接続のタイムアウト間隔のスーパーセットです。これには、リクエストされたサービスを提供するデータベース・インスタンスに接続される時間が含まれていますが、TCP接続の期間は含まれません。値とユニットの間のスペースあり、なしにかかわらず、様々なタイムアウトを受け入れます。単位が指定されない場合、デフォルトの単位はsecです。
タイムアウト間隔は、ADDRESS_LIST内の各ADDRESSおよびホスト名にマッピングされている各IPアドレスに適用されます。
CONNECT_TIMEOUTパラメータは、sqlnet.oraパラメータのSQLNET.OUTBOUND_CONNECT_TIMEOUTと同等で、このパラメータより優先されます。
例
net_service_name=
(DESCRIPTION=
(CONNECT_TIMEOUT=10 ms)(RETRY_COUNT=3)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))親トピック: タイムアウト・パラメータ
6.11.2 RETRY_COUNT
用途
接続試行を終了するまでに、ADDRESSリストを反復する回数を指定します。
使用上の注意
このパラメータは、DESCRIPTIONパラメータの下に配置します。
DESCRIPTION_LISTを指定している場合、指定した再試行回数に基づいて、各DESCRIPTIONが反復されます。
例
net_service_name=
(DESCRIPTION_LIST=
(DESCRIPTION=
(CONNECT_TIMEOUT=10)(RETRY_COUNT=3)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1a-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1b-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales1.example.com)))
(DESCRIPTION=
(CONNECT_TIMEOUT=60)(RETRY_COUNT=1)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2a-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2b-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales2.us.example.com))))親トピック: タイムアウト・パラメータ
6.11.3 RETRY_DELAY
用途
接続に対する後続の再試行間の遅延を秒単位で指定します。このパラメータは、RETRY_COUNTパラメータと組み合せることで機能します。
使用上の注意
このパラメータは、DESCRIPTIONパラメータの下に配置します。
DESCRIPTION_LISTを指定している場合、指定した再試行回数と説明の特定の遅延に基づいて、各DESCRIPTIONが反復されます。
例
net_service_name=
(DESCRIPTION_LIST=
(DESCRIPTION=
(CONNECT_TIMEOUT=10)(RETRY_COUNT=3)(RETRY_DELAY=2)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1a-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1b-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales1.example.com)))
(DESCRIPTION=
(CONNECT_TIMEOUT=60)(RETRY_COUNT=2)(RETRY_DELAY=1)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2a-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2b-svr)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=sales2.us.example.com))))親トピック: タイムアウト・パラメータ
6.11.4 TRANSPORT_CONNECT_TIMEOUT
用途
クライアントがOracle DatabaseへのOracle Net接続を確立するときのトランスポート接続タイムアウト時間をms、secまたはminで指定します。
使用上の注意
このパラメータは、DESCRIPTIONパラメータの下に配置されます。
TRANSPORT_CONNECT_TIMEOUTパラメータは、クライアントがデータベース・サーバーへのTCP接続を確立する時間をms、secまたはminで指定します。値とユニットの間のスペースあり、なしにかかわらず、様々なタイムアウトを受け入れます。デフォルト値は60 secondsです。単位が指定されない場合、デフォルトの単位はsecです。
タイムアウト間隔は、ADDRESS_LISTの記述内の各ADDRESSおよびホスト名にマッピングされている各IPアドレスに適用されます。TRANSPORT_CONNECT_TIMEOUTパラメータは、sqlnet.oraパラメータのTCP.CONNECT_TIMEOUTと同等で、このパラメータより優先されます。
例
net_service_name =
(DESCRIPTION=
(TRANSPORT_CONNECT_TIMEOUT=10 ms)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))親トピック: タイムアウト・パラメータ
6.12 圧縮パラメータ
tnsnames.oraファイルの圧縮セクションでは、圧縮を有効にし、圧縮レベルを指定できます。これらのパラメータは、接続文字列のDESCRIPTIONレベルで設定できます。
- COMPRESSION
tnsnames.oraファイルの圧縮パラメータは、データ圧縮を有効または無効にします。 - COMPRESSION_LEVELS
tnsnames.oraファイルのCOMPRESSION_LEVELSパラメータは、圧縮レベルを指定します。
6.12.1 COMPRESSION
tnsnames.oraファイルの圧縮パラメータは、データ圧縮を有効または無効にします。
用途
データ圧縮を有効または無効にします。
使用上の注意
このパラメータは、DESCRIPTIONパラメータの下に配置します。
クライアントの接続記述子にこのパラメータを設定すると、クライアント側のsqlnet.oraファイルのSQLNET.COMPRESSIONパラメータより優先されます。
デフォルト
off
値
-
on: データ圧縮を有効にします。 -
off: データ圧縮を無効にします。
例
net_service_name=
(DESCRIPTION=
(COMPRESSION=on)
(ADDRESS_LIST=
(ADDRESS= (PROTOCOL=tcp) (HOST=sales1-server) (PORT=1521))
(ADDRESS= (PROTOCOL=tcp) (HOST=sales2-server) (PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))関連項目
親トピック: 圧縮パラメータ
6.12.2 COMPRESSION_LEVELS
tnsnames.oraファイルのCOMPRESSION_LEVELSパラメータは、圧縮レベルを指定します。
用途
圧縮レベルを指定します。
使用上の注意
圧縮レベルは、両端でどのレベルを使用するかを確認し、1つのレベルを選択するためのネゴシエーション時に使用されます。このパラメータは、DESCRIPTIONパラメータの下に配置します。
このパラメータはCOMPRESSIONパラメータとともに使用します。クライアントの接続記述子にこのパラメータを設定すると、クライアント側のsqlnet.oraファイルのSQLNET.COMPRESSION_LEVELSパラメータより優先されます。
デフォルト
low
値
-
low: 低CPU使用率と低圧縮率を使用します。 -
high: 高CPU使用率と高圧縮率を使用します。
例
net_service_name=
(DESCRIPTION=
(COMPRESSION=on)
(COMPRESSION_LEVELS=(LEVEL=low)(LEVEL=high))
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-server)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-server)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))親トピック: 圧縮パラメータ