プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

「ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。」の解決方法

【発生状況】
Oracleで自作したユーザーでsqlplusでログインしようとしたら「ORA-01017」エラーとなった
 
【エラーとなった時のログイン方法】 ※ユーザー名:dbuser パスワード:0000


sqlplus dbuser/0000

 
【エラー内容】


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

 
 


 

■解決方法

①tnsnames.oraファイルを探す

クライアントインスタンスを格納しているフォルダ内にあるはず
 
※「tnsnames.oraファイル」の格納ディレクトリは環境変数パスを通しておく必要がある
 
例)C:\instantclient-tools-windows.x64-12.2.0.1.0\instantclient_12_2\tnsnames.ora
 
 


 

②tnsnames.oraファイルにPDB名が記述されていることを確認 ※記述がなければ追記する

 
【基本構文】

①ネットサービス名 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ②ホスト名)(PORT = ③ポート))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ④サービス名)
    )
  )

 
例)PDB名:ORCLPDBの場合


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

 
 


 

③下記でログイン


sqlplus dbuser/0000@orclpdb

 
 
接続できていることを確認


PS C:\Users\hogehoge> sqlplus dbuser/0000@orclpdb

SQL*Plus: Release 12.2.0.1.0 Production on 火 10月 1 02:45:27 2019

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

最終正常ログイン時間: 火 10月 01 2019 02:39:46 +09:00

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL>