ORA-00020: maximum number of processes в связке php5

ded-mazay
Дата: 25.11.2009 08:42:54
Доброго времени уважаемые!

Имеем OS Win2k3, Oracle 8.1.7

В связке с PHP 4.4.8, Apache 1.3.29 все работает нормально. Стоит обновить PHP до 5.x, Apache 2.x начинают плодится процессы, соотно приводит к повисанию с ORA-00020: maximum number of processes (XXX) exceeded

В конфигах apache и php ничего подозрительного не нашел, при запуске вебсервера ошибок нет ни в apache ни в php...

С чем может быть связано сие поведение? Как вылечить?
ded-mazay
Дата: 26.11.2009 22:32:37
UP

Сборка Apache 2.2.14 с модулем PHP 4.4.8 показала что на PHP4 все работает прекрасно, а вот Apache 1.3.29 или Apache 2.2.14 с PHP 5.2.11 плодит процессы apache в оракле...
Сравнение конфигов php ни к чему не привело - они идентичны за исключением extension_dir

В чем же дело-то???
serpv
Дата: 27.11.2009 10:04:46
ded-mazay,
можно конечно полечить вот так
SQL> show parameter processes

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
processes                            integer     150

SQL> select count(*) from v$process;

  COUNT(*)
----------
       149

SQL> alter system set processes=300 scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

SQL> show parameter processes

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
processes                            integer     300

но лучше конечно понять почему
автор
Apache 1.3.29 или Apache 2.2.14 с PHP 5.2.11 плодит процессы apache в оракле
ded-mazay
Дата: 27.11.2009 14:08:09
serpv

но лучше конечно понять почему


Не то чтобы лучше - НУЖНО, т.к. процессов я итак уже увеличил до 500, это не решение, т.к. процессы бесконечно создаются, в любом случае рано или поздно получаем ORA-00020.
Народ говорит видел проблемы с php5+Oracle8, апгрейд oracle до 9i проблему решал..
serij_
Дата: 30.11.2009 00:16:22
ded-mazay, у меня была такая проблема после перехода с 9.2.0.4 на 9.2.0.8. Оказалось, что одна из клиентсих утилит использует старую версию JDBC-драйвера. Заменили библиотеку на новую и все прошло.
Shredder2003
Дата: 30.11.2009 19:52:39
в версии до 5.2.4 включительно был баг, если в одном скрипте создаешь несколько соединений, то, если их принудительно не закрывать, закрывается только одно.
обещали исправить, но если нет, то попробуй закрывать коннекты в конце скрипта.

поставь после версии 5.2.6

а вообще, зайди на phpclub.ru, в ветке про оракл спроси Tony2001, вроде так его зовут.
это участник разработки php_oci, может, сможет помочь.
Shredder2003
Дата: 30.11.2009 19:53:40
Shredder2003,

в версии до 5.2.4 включительно был баг, если в одном скрипте создаешь несколько соединений, то, если их принудительно не закрывать, закрывается только одно.
обещали исправить, но если нет, то попробуй закрывать коннекты в конце скрипта.

а вообще, зайди на phpclub.ru, в ветке про оракл спроси Tony2001, вроде так его зовут.
это участник разработки php_oci, может, сможет помочь.