ORA-12547エラーが発生しているPL/SQLによるOracleへのログインに関するトラブルシューティング
ORA-12547エラーはTNSがデータベースに接続できないことが原因で発生します。このエラーを解決するには、以下の手順に従ってください。
- TNSサービスが動作しているかを調べてください。Windowsの場合は、「サービス」で、Oracle TNS Listenerサービスが起動しているかどうかを確認できます。Linuxの場合は、次のコマンドを使用できます。
- systemctl status oracle-xe-18c
- TNS名が正しいことを確認する。ご使用のTNS名がデータベースインスタンス名と一致していることを確認する。TNS名は$ORACLE_HOME/network/admin/tnsnames.oraファイルで見つけることができます。
- リスナーの設定を確認する。リスナーが正しく設定されており、正しいポートがリッスンされていることを確認する。$ORACLE_HOME/network/admin/listener.oraファイルでリスナーの設定を確認できます。
- ファイアウォール設定を確認してください。データベースサーバー上でファイアウォールが有効になっている場合は、クライアントが適切なポートにアクセスできるようにしてください。ファイアウォールを無効にするか、適切なファイアウォールルールを設定してみてください。
- データベースサービスが動作しているかどうかを確認する。Windows の場合は、「サービス」で Oracle Database サービスが起動しているかどうか確認する。Linux の場合は、以下のコマンドで確認できる。
- systemctl status oracle-xe-18c
上記のいずれの方法でも問題が解決しなかった場合は、ログファイルを確認して詳細情報を調べる必要があります。TNSリスナーのログファイル$ORACLE_HOME/network/log/listener.logとデータベースのログファイル$ORACLE_HOME/rdbms/log/alert_.logを確認できます。