【Oracle】[RAC]ORA-12520:リスナーは、リクエストしたサーバー・タイプに… | 夕湖津のブログ

夕湖津のブログ

問題解決に役立つ情報の提供を目指します

■事象

DBにリモート接続( = conn / as sysdbaのOS接続ではない)すると下記エラー

 

$ sqlplus /nolog

SQL*Plus: Release 19.0.0.0.0 - Production on 月 4月 6 06:06:47 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

SQL> conn sys@TEST as sysdba
パスワードを入力してください:
ERROR:
ORA-12520: TNS:
リスナーは、リクエストしたサーバー・タイプに使用可能なハンドラを検出できませんでした。

 

 

■原因

リスナーがDBリソースを認識していない。

つまり、下記のような状況になっているはず

 

$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 06-4月 -2020 06:05:16

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日                    06-4月 -2020 05:54:17
稼働時間                  0 日 0 時間 10 分 59 秒
トレース・レベル          off
セキュリティ              ON: Local OS Authentication
SNMP                      OFF
パラメータ・ファイル      /u01/app/19.3.0/grid/network/admin/listener.ora
ログ・ファイル            /u01/app/grid/diag/tnslsnr/node2/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.203.102)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.203.112)(PORT=1521)))
サービスのサマリー...
サービス"+ASM"には、1件のインスタンスがあります。
  インスタンス"+ASM2"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"+ASM_DATA"には、1件のインスタンスがあります。
  インスタンス"+ASM2"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"+ASM_FRA"には、1件のインスタンスがあります。
  インスタンス"+ASM2"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。

 

■解決方法

DB再起動(他にあるのかもしれませんが・・・)

※ SQL> conn / as sysdbaで接続後「 alter system register」をやっても認識してくれませんでした。

 

$ whoami

oracle

 

$ srvctl stop databse -db test

$ srvctl start database -db test

 

$ lsnrctl status

前略

ービス"pdb.oracle19c.jp"には、1件のインスタンスがあります。
  インスタンス"test_1"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。

 

■備考

↓あまり参考になりませんでした。

 

$ oerr ora 12520
12520, 00000, "TNS:listener could not find available handler for requested type of server"
// *Cause: None of the known and available service handlers for requested type
// of server (dedicated or shared) are appropriate for the client connection.
// *Action: Run "lsnrctl services" to ensure that the instance(s) have
// registered with the listener and that the appropriate handlers are
// accepting connections.