My Oracle Support Banner

Oracle Net Listener 経由接続は断続的に TNS-12520、TNS-12519 または TNS-12516 が発生 (Doc ID 2376445.1)

Last updated on AUGUST 04, 2018

適用範囲:

Oracle Database - Enterprise Edition - バージョン 12.1.0.2 から 12.2.0.1 [リリース 12.1 から 12.2]
Oracle Net Services - バージョン 10.1.0.2 から 12.2.0.1 [リリース 10.1 から 12.2]
Oracle Database - Enterprise Edition - バージョン 11.2.0.4 から 11.2.0.4 [リリース 11.2]
この文書の内容はすべてのプラットフォームに適用されます。
本文書利用上のご注意
  本文書は英語の文書 <Document 240710.1> (最終メジャー更新日: 2018年2月26日) の日本語翻訳版です。
  英語の文書の最終メジャー更新日が新しい場合は本文書に適宜反映いたします。

現象

クライアント接続は下記いずれかのエラーで断続的に失敗する可能性はあります:

TNS-12516 TNS: リスナーは、一致するプロトコル・スタックが使用可能なハンドラを検出できませんでした。
ORA-12516 TNS: リスナーは、一致するプロトコル・スタックが使用可能なハンドラを検出できませんでした。

TNS-12519 TNS: 適切なサービス・ハンドラが見つかりません。
ORA-12519 TNS: 適切なサービス・ハンドラが見つかりません。


これらのエラーの一部または全部が listener.log に出力されることがあり、ORA-12520 に付随される場合があります:

ORA-12520 TNS: リスナーは、要求したサーバー・タイプに使用可能なハンドラを検出できませんでした。


lsnrctl services コマンドの出力結果では、サービスハンドラが "blocked" 状態
と表示されます。

例:'"DEDICATED" established:1 refused:0 state:blocked'

エラーが一時的に発生し、自動復旧する場合、インスタンスのリソース不足となる可能性があります。
特に、PROCESSES の設定が低すぎる可能性があります。

 

 

インスタンスに接続して、下記SQLを実行します:

select * from v$resource_limit;

PROCESSES の値を確認します。  MAX_UTILIZATION は LIMIT_VALUE に等しいまたは近い場合、
PROCESSES の値を増加する必要性を示します。

SELECT *
FROM V$RESOURCE_LIMIT
WHERE resource_name in ('sessions','processes',);

RESOURCE_NAME        CURRENT_UTILIZATION    MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
--------------------           -------------------              ---------------     --------------------     -----------
processes                             288                                  296                    300                  300
sessions                               296                                  319                    335                  335

MAX_UTILIZATION は LIMIT_VALUE に等しいまたは近いことを注意ください。 この状態で、PMON が過負荷状態のデータベースには
追加接続をブロックするようにハンドラを設定した時、これらのエラーが発生することは想定されます。

下記をご参照:

CURRENT_UTILIZATION NUMBER 現在使用されている(リソース、ロックまたはプロセスの)数
MAX_UTILIZATION NUMBER 最後にインスタンスを起動してからのこのリソースの最大消費量
INITIAL_ALLOCATION VARCHAR2(10) 初期の割当て。これは、初期化パラメータ・ファイルに指定したリソースの値と同じ(無制限の場合、UNLIMITED)。
LIMIT_VALUE VARCHAR2(10) リソースおよびロックの場合は無制限。これは、初期の割当て値より大きくてもかまわない(無制限の場合、UNLIMITED)。

変更点

顕著的な負荷増加が発生した可能性は高いです。

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
現象
変更点
原因
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.