Apacheを使用してRedhat7 LinuxWebサーバーに「Create」というページをデプロイしようとしています。ページにアクセスしようとすると、エラーログから次のエラーメッセージが表示されます。
[cgi:error] [pid 23367:tid 3936258880] [client 142.139.205.16:60557] AH01215: Schema .myuser@mydb . Password : /my/directory/cgi-bin/Create - Error while trying to retrieve text for error ORA-12154
オンラインで調べましたが、このエラーについて何も見つかりません。このエラーの意味について誰かが私を正しい方向に向けることができますか?
問題を修正するために私がしなければならなかったことは、Oracleプロファイルのコードを変更することでした:/etc/profile.d/Oracle.sh
だからそれは皆のために実行されます。特定のグループのユーザーに対してのみ実行されるようにコーディングされています。
ご意見ありがとうございました!
これは単一のエラーメッセージではないようですが、ソフトウェアスタックの数層の深さで発生したエラーと、スタックから抜け出すときにエラーメッセージの一部となるすべての層に起因する組み合わせです。
「スキーマ」と「パスワード」という単語は、スクリプトがデータベースに接続しようとしている可能性があることを示しています。
メッセージの末尾はError while trying to retrieve text for error ORA-12154
です。 ORA-nnnnnは、Oracleデータベースまたはそのドライバからのエラーコードの標準形式です。したがって、スクリプトは、ユーザー/スキーマ名mydb
とパスワードmypass
を使用して、サービス名mypass
でOracleデータベースに接続しようとしている可能性があり、エラーORA-12154が発生します。何らかの理由で、対応するエラーメッセージテキストを取得できませんでした。
しかし、ORA-12154はどういう意味ですか?グーグルが救助に!
エラーメッセージの全英語テキストは次のようです。
ORA-12154: TNS:could not resolve the connect identifier specified
スクリプトが使用しているデータベースクライアント/ドライバーが何であれ、mydb
データベースに到達する方法についての手がかりがないようです。
データベース接続のネットワーク接続パラメータを定義するtnsnames.ora
ファイルがある場合は、スクリプトが正しいOracle_HOME
およびその他の必要なOracle固有の環境変数を取得していることを確認して、データベースクライアントがスクリプトで使用される/ driverは、実際にはtnsnames.ora
ファイルを検索します。次に、そのファイルに記載されているホスト名/ IPアドレス/ポートが正しいこと、およびホスト名が解決可能であることを確認します。
CGIスクリプトがchrootされた環境で実行される場合、/etc/resolv.conf
またはDNSリゾルバーライブラリにアクセスできない可能性があるため、ホスト名を解決できません。
または、Oracleドライバ/クライアントが他の命名方法(Oracleの専門用語)を使用してデータベース接続パラメータを検索するように構成されている場合は、使用されている方法とその方法を確認する必要があります。データベースサービス名mydb
に対して有効な結果を生成します。データベース管理者に相談する必要があるかもしれません:「私のクライアントは構成されていますこのように、そして私はORA-12154エラーメッセージを受け取ります。これのどれかがあなたに間違っているように見えますか?」
ああ、そしてあなたはデータベースにパスワードを公に投稿したので、あなたは本当に今それを変更したいと思うかもしれません。