質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

解決済

Oracleのリスナーがどうしてもうまく動きません・・・。

JuguarSugar
JaguarSugar

総合スコア73

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

1回答

0リアクション

0クリップ

362閲覧

投稿2022/08/10 05:27

編集2022/08/12 00:21

前提

お世話になります。
タイトルの通りになります。
Oracleのバージョンは19cで、個人利用PCにオラクルクライアントからインストールして少し利用した状態です。
コンテナ・プラガブル構成をしており、プラガブルDBの名前は 'ORCLPDB'になります。

'sqlplus ユーザ名/パスワード@サービス名(orclpdb)'だと接続できず、
'sqlplus sys/manager as sysdba'だと接続できます。

エラーは下記になります。
ERROR:
ORA-12154: TNS: 指定された接続識別子を解決できませんでした

追記

なぜかsqldeveloperだと下記のような設定で接続できます。
イメージ説明

実現したいこと

  • リスナーを使い、データベース接続したい。

リスナーの構成ファイル3点

listener.ora

SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\oracle\product\19c\WINDOWS.X64_193000_db_home) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle\product\19c\WINDOWS.X64_193000_db_home\bin\oraclr19.dll") ) ) LISTENER_ORCL = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES)

tnsnames.ora

LISTENER_ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb) ) )

パラメータ等

  • instance_name from v$instance = orcl
  • global_name from global_name = ORCL

lsnrctl status

lsnrctl_status

C:\WINDOWS\system32>lsnrctl status LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 10-8月 -2022 14:30:12 Copyright (c) 1991, 2019, Oracle. All rights reserved. (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))に接続中 リスナーのステータス ------------------------ 別名 LISTENER バージョン TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 - Production 開始日 10-8月 -2022 14:28:55 稼働時間 0 日 0 時間 1 分 21 秒 トレース・レベル off セキュリティ ON: Local OS Authentication SNMP OFF パラメータ・ファイル C:\app\oracle\product\19c\WINDOWS.X64_193000_db_home\network\admin\listener.ora ログ・ファイル C:\app\oracle\diag\tnslsnr\DESKTOP-29OC3QV\listener\alert\log.xml リスニング・エンドポイントのサマリー... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-29OC3QV)(PORT=1521))) サービスのサマリー... サービス"CLRExtProc"には、1件のインスタンスがあります。 インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります... サービス"ORCL"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... サービス"ORCLXDB"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... サービス"b1baa6789447444ba67b62d2c618796a"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... サービス"orclpdb"には、1件のインスタンスがあります。 インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります... コマンドは正常に終了しました。

ベストアンサー選択時の最終的な構成ファイルの状態を示します。

listener.ora

SID_LIST_LISTENER_ORCL = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\oracle\product\19c\WINDOWS.X64_193000_db_home) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracle\product\19c\WINDOWS.X64_193000_db_home\bin\oraclr19.dll") ) (SID_DESC = (SID_NAME = ORCL) (ORACLE_HOME = C:\app\oracle\product\19c\WINDOWS.X64_193000_db_home) (GLOBAL_DBNAME=ORCL) ) (SID_DESC = (SID_NAME = ORCL) (ORACLE_HOME = C:\app\oracle\product\19c\WINDOWS.X64_193000_db_home) (GLOBAL_DBNAME=ORCLPDB) ) ) LISTENER_ORCL = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

tnsnames.ora

ORCLPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLPDB) ) )

何卒宜しくお願い致します。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

KOZ6.0

2022/08/10 07:32

sqlplus ユーザ名/パスワード@localhost/orclpdb で繋がらないですか?
JuguarSugar

2022/08/10 08:08 編集

繋がらないですね...( ;∀;) エラーメッセージも変わりませんでした。
KOZ6.0

2022/08/10 08:23

sqlnet.ora の NAMES.DIRECTORY_PATH のところを NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) に変えてもダメでしょうか?
JuguarSugar

2022/08/10 08:38

変えてみましたが、エラーが発生し続けてしまっています。
KOZ6.0

2022/08/10 09:05 編集

sqldeveloper が繋がるのだから EZCONNECT 形式で繋がりそうなものですが・・・ tnsping localhost/orclpdb は通りますか?
JuguarSugar

2022/08/12 00:07

すみません、返信遅くなりました。 tnsping localhost/orclpdbを行った結果ですが、下記のようになりました。 エイリアスを解決するためにEZCONNECTアダプタを使用しました。 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=orclpdb))(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))に接続の試行中 OK (10ミリ秒)
KOZ6.0

2022/08/12 08:43

これがOKなら sqlplus ユーザ名/パスワード@localhost/orclpdb が繋がらないはずはないのですが・・

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。