Borderline ServerFaultの質問ですが、過去にOracleの質問があったので、最初にここで試してみることにしました。
PHPからOracleデータベースに接続しようとしていますが、次のエラーが発生します。
ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
これは、PHPが報告するエラーであり、Oracleのlistener.logに表示されるエラーです。
私の当面の問題は、このエラーを修正することです。私が答えたいより大きな質問は、Oracle接続モデルがどのように機能するかということです。
これは、私のローカルWindowsマシンで実行されている開発環境にあり、これまで機能してきました。残念ながら、環境は私に渡され(私はそれを設定しませんでした)、それを設定した人々は私がそれをデバッグするのを手伝うことができません。
MySQLまたはPostgreSQL(私がよく知っている2つのシステム)で同様のエラーが発生した場合は、データベースプロセスが実行されていることを確認してから、username /password/を使用してデータベースに手動で接続しようとします。接続文字列。残念ながら、私はWindows上のOracleツール(SQL Developer以外)に精通しておらず、OracleのコンテキストでTNS:listenerまたはSIDが何であるかを知りません(漠然としたアイデアがありますが、漠然としたアイデアが役立つことはめったにありませんあなたはこのようなものをデバッグしています)
一般的なアドバイスをいただければ幸いです。
コメントごとの更新:
私のtnsnames.oraファイルには多数の全体があり、関連するエントリは次のとおりです。
OBS2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = steel-ae39650)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = OBS2)
)
)
これは、実行したときにインスタンスのリストに反映されません
LSNRCTL> services
次の質問は、OBS2インスタンスを手動で起動するにはどうすればよいかということだと思います。