Not sure if any of you have come across this.
We are using Oracle 10203 and IIS oci-8 php extensionn to give us Oracle connectivity. We have been getting intermittent 'Ports in use' error which has been resolved by restarting the IIS service on the webserver. A netstat-a on the web server shows lots of connections with a 'CLOSE_WAIT' status. I logged a call with Oracle but they reckon IIS is blocking the ports. I have no knowledge of IIS/PHP and am unable to ascertain if this is truly the case.
I believe this is coming from the application where the connections are not being closed. The developers keep saying they will look at the application but nothing gets done.
As a DBA you are called upon to look into this as all users are unable to connect to the application when this occurs.
PHP OCI8 has two kinds of connection: non persistent and persistent. The persistent kind are designed to be held open. Is there some kind of timeout kicking in that is closing the connections?
Your version of PHP OCI8 is fine. There were some changes in OCI8 1.3 that can help connection management, e.g. better handling of bounced DB servers or dropped network links. Unfortunately until the PHP community replaces the pecl4win site, there isn't a PHP 5.2 build available on Windows - though you could compile it yourself.
Thanks for the info cjds. A nestat-a on the box shows there are lots of unclosed connections mostly with a status of 'CLOSE_WAIT'. Users have been kicked out occasionally from the application with a 'ports in use error'. We restart IIS to clear out the connections. A weekly restart of the database and box is going to be our temporary fix until the developers come up with a fix.