以下のように表示されます。
(日本語)
ORA-12170: TNS: 接続タイムアウトが発生しました。
(英語)
ORA-12170: TNS: Connect timeout occurred
発生パターン
このエラーは以下のような場合に発生します。
- tnsnames.oraに設定されたIP、PORT、SERVICE_NAME(SID)が間違っている
- データベースサーバが起動していない
- ネットワークが一時的に重くなっていてタイムアウトを起こしている
- ネットワーク障害が起きていてデータベースへ接続できない
- エラー例
- c:¥>sqlplus hoge/pass@db01 SQL*Plus: Release 12.2.0.1.0 Production on 土 9月 1 21:18:56 2018 Copyright (c) 1982, 2017, Oracle. All rights reserved. ERROR: ORA-12170: TNS: 接続タイムアウトが発生しました。
対処法
- データベースサーバに接続できるか確認する
⇒ [ORACLE] ネットワークの接続テストを行う(tnsping) - DBサーバのIPに対してpingコマンドを実行して疎通確認をする
- tnsnames.oraの設定を確認する
※tnsnames.oraは以下の箇所をご確認ください。
- (tnsnames.oraの例)
- db01 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 99.99.99.99)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test) ) )
HOST、PORT、SERVICE_NAME に設定された値が正しいかご確認ください。
補足
- 設定に間違いが無いにも係わらずこのエラーが出る時は、ネットワーク障害が発生している可能性があります。ネットワーク管理者にご確認ください。