ORACLEのリスナーに登録されているサービスを確認する方法です。
構文
- (リスナーに登録されているサービスを確認するコマンド)
- lsnrctl services
クライアント側ではなく、リスナーが動いているサーバ側で実行してください。
実行例
実行すると以下のように表示されます。
例1)サービスが登録されているとき
- コマンドプロンプト
- C:¥>lsnrctl services LSNRCTL for 64-bit Windows: Version 12.2.0.0.0 - Production on 13-4月 -2021 11:35:25 Copyright (c) 1991, 2016, Oracle. All rights reserved. (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.10)(PORT=1521)))に接続中 サービスのサマリー... サービス"CLRExtProc"には、1件のインスタンスがあります。 インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります... ハンドラ: "DEDICATED" 確立:0 拒否:0 LOCAL SERVER サービス"DB01"には、1件のインスタンスがあります。 インスタンス"DB01"、状態READYには、このサービスに対する1件のハンドラがあります... ハンドラ: "DEDICATED" 確立:1 拒否:0 状態:ready LOCAL SERVER サービス"DB02"には、1件のインスタンスがあります。 インスタンス"DB02"、状態READYには、このサービスに対する1件のハンドラがあります... ハンドラ: "DEDICATED" 確立:1 拒否:0 状態:ready LOCAL SERVER コマンドは正常に終了しました。
「DB01」、「DB02」の2つのサービスが登録されている事が確認できます。
例2)サービスが登録されていないとき
- コマンドプロンプト
- C:¥>lsnrctl services LSNRCTL for 64-bit Windows: Version 12.2.0.0.0 - Production on 13-4月 -2021 11:42:13 Copyright (c) 1991, 2016, Oracle. All rights reserved. (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.10)(PORT=1521)))に接続中 サービスのサマリー... サービス"CLRExtProc"には、1件のインスタンスがあります。 インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります... ハンドラ: "DEDICATED" 確立:0 拒否:0 LOCAL SERVER コマンドは正常に終了しました。
確立されているものが0で、サービスが登録されていない事が確認できます。
解説
- データベースに問題が無いにも係わらずリスナーにサービスが登録されない場合は、リスナーを再起動したり再作成してみてください。