ID: 16502
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Closed
+Status: Open
Bug Type: OCI8 related
Operating System: RedHat 7.2
PHP Version: 4.1.2
New Comment:
Hello,
I've tested your solution. This is very elegant!
It's working perfectly for Oracle8i database and not working for
Oracle7 database. We use Oracle8i clients and listeners.
When PHP tries to connect to Oracle7 through Oracle8i client and
Oracle8i listener with mentioned above settings, OCIPLogon throws
following error:
ORA-03115: unsupported network datatype or representation
I have another solution but I'm not sure that is "proper" one. I've
uncommented call for 'oci_ping' in oci8.c file (rows 2375 - 2361, right
after text "XXX ini-flag" in the _oci_open_server function).
I understand that it has "price" equals to OCIServerVersion call per
each logon. But in case of Oracle7 I don't see solutions so far.
Just couple questions left:
1. Is it really proper way for the problem?
2. If it is, Can it be incorporated in coming release?
Thanks a lot,
Boris
Previous Comments:
------------------------------------------------------------------------
[2002-04-15 08:55:42] [EMAIL PROTECTED]
Thanks!
I'm gonna try it.
------------------------------------------------------------------------
[2002-04-13 09:21:19] [EMAIL PROTECTED]
hack:
change your tnsnames.ora to include a failover to the same db.
PROD=(
DESCRIPTION=(
ADDRESS=(PROTOCOL=TCP)(Host=127.0.0.1)(Port=1521))
(CONNECT_DATA=(SID=PROD)(failover_mode=(backup=PROD)(type=session)(method=basic)(retry=100)(delay=60)))
)
this will make the Net8 client to reconnect automagically
------------------------------------------------------------------------
[2002-04-13 09:20:49] [EMAIL PROTECTED]
hack:
change your tnsnames.ora to include a failover to the same db.
PROD=(
DESCRIPTION=(
ADDRESS=(PROTOCOL=TCP)(Host=127.0.0.1)(Port=1521))
(CONNECT_DATA=(SID=PROD)(failover_mode=(backup=PROD)(type=session)(method=basic)(retry=100)(delay=60)))
)
this will make the Net8 client to reconnect automagically
------------------------------------------------------------------------
[2002-04-08 23:16:52] [EMAIL PROTECTED]
Hello,
I have an issue between PHP and Oracle. As soon as I have to restart
database I have to do same for Apache. If I will not do that my session
will retrieve error message about "end-of-file coonection". I agree
that some of child processes in Apache can be in this status. But I
guess, that it is possible to track that OCIPLogon tries to connect to
DB through dead connection. That can trigger whole "connection process"
to run again. It is better than wait for administrator to restart whole
web server. I prefer OCIPLogon for small SELECT's because of
performance issue.
I tried to solve this issue with apache_child_terminate() but
received message that it is disabled somehow (I even have no idea how
to enable it)
My environment is:
RedHat 6.1 / 7.2
Apache 1.3.23
PHP 4.1.2 (--with-oci8)
Oracle 8.1.5 client
remote Oracle7 and Oracle8.1.5 databases
Thanks for any advise,
Boris
[EMAIL PROTECTED]
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=16502&edit=1