Oracle Database 21C エラー「ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。」が発生した場合の対処法

Oracle Database 21C エラー「ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。」が発生した場合の対処法

Oracle Database 21Cで、エラー「ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。」が発生した場合の対処法を記述してます。「tnsnames.ora」の「SERVICE_NAME」に設定されている値に問題があったため発生しました。

環境

  • OS windows11 home
  • Oracle Database 21c Express Edition

エラー全文

sqlplusからログイン時に発生。

ここでは。
ユーザー名 : testuser
パスワード : password
PDB : SAMPLEPDB

で接続してます。

>sqlplus testuser/password@SAMPLEPDB

SQL*Plus: Release 21.0.0.0.0 - Production on 火 1月 11 16:42:43 2022
Version 21.3.0.0.0

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

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


ユーザー名を入力してください: 
パスワードを入力してください:

ユーザーは以下のクエリで作成済み。

>sqlplus / as sysdba

SQL> alter session set container = SAMPLEPDB;

SQL> CREATE USER testuser IDENTIFIED BY pwd;

SQL> grant connect to testuser;

原因

「tnsnames.ora」の「SERVICE_NAME」に設定されている値がおかしかったため。

対処法

「SERVICE_NAME」を正しく設定する。

SAMPLEPDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hoge.lan)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = SAMPLEPDB)
  )
)