[PHP-users 30537] Re: Miracle LinuxとOracle10gR2とPHPで環境構築
Eijun Kitamura
eijun @ hal.ne.jp
2006年 10月 16日 (月) 10:45:50 JST
Mashiki様:
北村です。
お返事ありがとうございます。
Mashiki> linuxのコマンドラインからはリスナー経由でDBに接続できていますよね。
できてないです。
[oracle @ localhost ~]$ sqlplus scott/tiger @ orcl
SQL*Plus: Release 10.2.0.1.0 - Production on 月 10月 16 10:07:18 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12541: TNS: リスナーがありません。
#と、1回目接続に失敗します。
ユーザー名を入力してください: scott
パスワードを入力してください:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
#と、2回目も失敗します。
もしか、リスナーが起動していないのではと思い、
lsnrctl start
してから接続を試みましても、接続できません。
さらに悪いことに、一昨日までは(昨日は接続してないです)リモートからなはら接続できていましたが、
本日はリモートからも接続できませんでした。
リモートもPHPですが、
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor in
C:\xampp\htdocs\index.php on line 5
というエラーです。
5行目のコードは
$conn = OCILogon("scott", "tiger", "orcl");
です。
Mashiki> tnsnames.ora を使用するためには必要なOracle関連の環境変数がapacheの
Mashiki> プロセスにセットされている必要があるかと思います。
Mashiki> その辺は大丈夫でしょうか。
Mashiki> phpinfoで $_ENV変数周りを確認してみてください。
echo $_ENV["PATH"];してみると。
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/opt/app/oracle/product/10.2.0/db_1/bin
と返ってきます。
tnsnames.oraがあるのが、
/opt/app/oracle/product/10.2.0/db_1/network/admin
なので、PATHが通っていないということでしょうか。
Mashiki> 最近はインスタントクライアントを使っており、気にしなくなってきてます。
Linuxのインスタントクライアントはどんな感じですか?
セットアップの落とし穴とかあったら教えてください。
PHP-users メーリングリストの案内