@eichiro169 (亨介 篠原)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Oracle DB tnsnames.oraについて

結果自己解決:再インストール⇒再設定+公式のSQLdevをインストール⇒できた。
理由理屈云々が完全に抜けてて不安だけど、PDB切り替えあたりで発生してた状況とかが、いろいろ怪しかった。

解決したいこと

Oracle 19cでユーザー作成後、作成したユーザーでログインできない。

例)
OracleDBの学習を行うため19cの設定をしようとしているのですが
以下の手順を見ながら
https://qiita.com/AkihikoOgata/items/f17f118b2605f0b90892

ユーザー作成を行ったのですがログインエラーが発生してしまい
進めずに困っております。

発生している問題・エラー

C:\WINDOWS\system32>sqlplus tester/tester@pdb

SQL*Plus: Release 19.0.0.0.0 - Production on 火 5月 31 16:38:14 2022
Version 19.3.0.0.0

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

ERROR:
ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。

※「sqlplus tester/tester @pdb」で表記していた
⇒これはID/PASS@SIDのようにスペースは明けない。
ERROR:ORA-12154: TNS: 指定された接続識別子を解決できませんでした

関連するコード

listener.ora
# listener.ora Network Configuration File: C:\Oracle\WINDOWS.X64_193000_db_home\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\Oracle\WINDOWS.X64_193000_db_home)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\Oracle\WINDOWS.X64_193000_db_home\bin\oraclr19.dll")
    )
  )
USE_SID_AS_SERVICE_LISTENER = ON
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
tnsnames.ora
# tnsnames.ora Network Configuration File: C:\Oracle\WINDOWS.X64_193000_db_home\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )
PDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PDB)
    )
  )

その他
PDB:PDB
SID:orcl2

自分で試したこと

・show pdbでPDBが存在していることを確認
・起動していることを確認
・PDBをSID(orcl2)に変更(両方・片側の3パターン)

以上です。

その他参考

LSNRCTL> service.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ユーザー・ドメイン)(PORT=1521)))に接続中
サービスのサマリー...
サービス"CLRExtProc"には、1件のインスタンスがあります。
  インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
    ハンドラ:
      "DEDICATED" 確立:0 拒否:0
         LOCAL SERVER
サービス"ORCL"には、1件のインスタンスがあります。
  インスタンス"ORCL"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
    ハンドラ:
      "DEDICATED" 確立:1 拒否:0
         LOCAL SERVER
コマンドは正常に終了しました。
LSNRCTL> status.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ユーザー・ドメイン)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 - Production
開始日                    06-6月 -2022 09:41:04
稼働時間                  0 日 0 時間 2 分 6 秒
トレース・レベル          off
セキュリティ              ON: Local OS Authentication
SNMP                      OFF
パラメータ・ファイル      C:\Oracle\WINDOWS.X64_193000_db_home\network\admin\listener.ora
ログ・ファイル            C:\Oracle\app\shinohara\diag\tnslsnr\ユーザー\listener\alert\log.xml
リスニング・エンドポイントのサマリー...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ユーザー・ドメイン)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
サービスのサマリー...
サービス"CLRExtProc"には、1件のインスタンスがあります。
  インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
サービス"ORCL"には、1件のインスタンスがあります。
  インスタンス"ORCL"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
0 likes

1Answer

sqlplus tester/testerと@pdbの間にスペースがないはずと思いますが。

0Like

Comments

  1. @eichiro169

    Questioner

    ご回答ありがとうございます。
    質問した後、再度DBを作り直しました。(相変わらずつながらない)
    現在は間にスペースについては現在外してやっています。
    入れると、PDBを認識してくれないことを確認しています。

Your answer might help someone💌