
- Windows 11
- Oracle Database 19.0.0.0.0 Standard Edition
Windows 11 上のOracle Database 19c Standard Editionに、SQL*Plusを使用してSYS ユーザーでログインしようとすると、「ORA-12560: TNS: プロトコル・アダプタ・エラー」が発生しました。
C:\sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 木 3月 6 11:04:38 2025
Version 19.0.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
本記事では、Windows上の「ERROR:ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました」のエラーで、OracleDatabaseにログインできない事象の解決方法を解説します。
問題点
Windows環境でOracleDatabaseに接続を試みると、以下のエラーが発生します。
C:\>lsnrctl start
LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 06-3月 -2025 11:03:51
tnslsnrを起動しています。お待ちください...
・
・
コマンドは正常に終了しました。
C:\>lsnrctl status
LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 06-3月 -2025 11:04:15
・
・
サービス"CLRExtProc"には、1件のインスタンスがあります。
インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
C:\>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 木 3月 6 11:04:38 2025
Version 19.0.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
C:\>sqlplus
SQL*Plus: Release 19.0.0.0.0 - Production on 木 3月 6 11:06:01 2025
Version 19.0.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
ユーザー名を入力してください: sys
パスワードを入力してください:
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
SQL*Plus の起動方法を変えても、「ORA-12560: TNS: プロトコル・アダプタ・エラー」 が発生し、Oracle Database に接続できません。
Listener を起動してlsnrctl status
を確認すると、リスナーは正常に起動していることが分かります。
解決方法
Oracle公式サイトを調べたところによると、OracleDatabaseまたはListenerのいずれか、または両方が起動していないことが主な原因とされています。
ORA-12560
TNS: 接続を失いました。
原因: OracleServiceSIDサービス、OracleHOMENAMETNSListenerサービス、またはその両方が実行されていません。このエラーは、SQL*PlusのようなOracle Databaseユーティリティを使用しようとした場合に発生します。
処置: 両方のサービスが起動していることを確認します。
引用元:Oracle公式サイト
通常はSQL*PlusでSYSユーザにログイン後、startup
コマンドを実行してデータベースを起動するのが一般的です。
そのため、OracleDatabaseとListenerのサービスを手動起動し、その後SQL*Plusでログインしましょう。
サービスを手動起動
以下のコマンドを実行し、Oracle Database サービスと Listener サービスを起動します。
C:\>net start OracleServiceORCL
OracleServiceORCL サービスを開始します.................................
OracleServiceORCL サービスは正常に開始されました。
C:\>net start OracleOraDB19Home1TNSListener
OracleOraDB19Home1TNSListener サービスを開始します.................................
OracleOraDB19Home1TNSListener サービスは正常に開始されました。
net start <サービス名>
コマンドを実行することで、サービスを起動できます。
コマンドを使用せずに、Windowsの「サービス管理ツール」から手動で起動する方法 もあります。
- すべてのサービスが起動したら、SQL*Plusでログインを試す
- [Windowsキー] + [R] を押して「services.msc」と入力し、Enterキーを押す
- Oracle Database関連のサービスを探す
- それぞれを右クリックし、「開始」を選択
Oracle<Oracle_HOME>TNSListenerは、lsnrctl startで手動起動することが可能です。
しかし、OracleService<Oracle_SID>は、startup
コマンドで手動起動しないので注意してください。
SQL*Plusにログイン
サービスの起動が完了したら、普段通りにOracleDatabaseにSQL*Plusでログインします。
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 木 3月 6 11:10:23 2025
Version 19.0.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.0.0.0.0
に接続されました。
SQL>
まとめ
「ORA-12560: TNS: プロトコル・アダプタ・エラー」が発生する場合は、以下の手順で解決できます。
- net start OracleService<Oracle_SID>
- net start Oracle<Oracle_HOME>TNSListener or lsnrctl start
- sqlplus / as sysdba
最後までご愛読ありがとうございました。