[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 メーリングリストの案内