\Apple新学期キャンペーンさらに安く購入する方法!?/ こちらの記事をチェック

Windows環境で発生する「ORA-12560: TNS: プロトコル・アダプタ・エラー」の解決方法

当ページのリンクには広告が含まれています。
ora12560-for-windows
僕の作業環境
  • 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コマンドを実行してデータベースを起動するのが一般的です。

Windows環境の場合は、サービス管理ツールやコマンドを使用して、OracleDatabaseのサービスを起動させる方法が一般的のようです。

そのため、OracleDatabaseとListenerのサービスを手動起動し、その後SQL*Plusでログインしましょう。

STEP

サービスを手動起動

以下のコマンドを実行し、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コマンドで手動起動しないので注意してください。

STEP

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: プロトコル・アダプタ・エラー」が発生する場合は、以下の手順で解決できます。

  1. net start OracleService<Oracle_SID>
  2. net start Oracle<Oracle_HOME>TNSListener or lsnrctl start
  3. sqlplus / as sysdba

最後までご愛読ありがとうございました。

シェアしてくれたら嬉しいな!
  • URLをコピーしました!

この記事を書いた人

当サイトの管理人(22)|Apple製品やガジェット好きのFラン大学生。
Apple製品やガジェットを駆使して、資格試験や語学の勉強を効率的に行っています。
資格取得 情報処理安全確保支援士試験|応用情報技術者試験|OracleMaster Silver DBA|日商簿記3級

目次