Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Oracle XE и DRCP  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Добрый день!
Есть приложение, написанное на PHP, в качестве СУБД используется Oracle XE. В качестве ОС - CentOS release 5.8. Apache и СУБД на одном сервере.
В приложении, в пиковый период происходит около 5 подключений в секунду, что на текущем сервере уже является проблемой. В качестве решения этой проблемы, попытался использовать DRCP, настройки использовал по умолчанию. При обращении к БД из приложения, даже визуально заметно, что время отклика приложения уменьшилось. Но после переключения, через пару дней (в период не самой большой загрузки), в апаче полезли ошибки

ERROR:
ORA-28547: connection to server failed, probable Oracle Net admin error
Warning: You are no longer connected to ORACLE.


Подключение к pool не происходит и через sqlplus.
Сессии в БД висели с ожиданием library cache: mutex X, при этом новых сессий не появлялось. Перезапуск DRCP пула, киляние всех сессий не помогает.

В трейсе pmon-а полезли вот такие сообщения

KGX cleanup...
KGX Atomic Operation Log 0x91b705e8
 Mutex 0x8ed53bb8(1, 0) idn 36b643cb oper EXCL
 Library Cache uid 1 efd 11 whr 85 slp 0
 oper=6 pt1=(nil) pt2=0x8c4ce9b0 pt3=(nil)
 pt4=(nil) pt5=(nil) ub4=0
KGX cleanup...
KGX Atomic Operation Log 0x91b70698
 Mutex 0x9033ce40(36, 0) idn a8611fa3 oper GET_EXCL
 Library Cache uid 1 efd 11 whr 79 slp 16383
 oper=0 pt1=0x9033cd10 pt2=0x8ed51f88 pt3=(nil)
 pt4=(nil) pt5=0x9033cdb0 ub4=1
KGX cleanup...
KGX Atomic Operation Log 0x91b705e8
 Mutex 0x8ed59c50(1, 0) idn b5f85f97 oper EXCL
 Library Cache uid 1 efd 11 whr 85 slp 0
 oper=6 pt1=(nil) pt2=0x88c4d980 pt3=(nil)
 pt4=(nil) pt5=(nil) ub4=0
KGX cleanup...
KGX Atomic Operation Log 0x91b70698
 Mutex 0x9033ce40(36, 0) idn a8611fa3 oper GET_EXCL


В alert логе, ошибок не было.
Решение, это перезапуск БД через abort. (immediate не дождался)

Я почитал эту веточку.
При работе с DRCP, используем - oci_pconnect()

Подскажите, как можно локализовать проблему? Очень хочется добиться стабильной работы с использованием пула!
13 дек 12, 15:16    [13626334]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2019
Почитай, что пишут тут
http://www.oracle.com/technetwork/articles/oracledrcp11g-1-133381.pdf
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:516302500346470287
13 дек 12, 17:29    [13627693]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Изя Кацман,

Спасибо конечно, но я там к сожалению не нашел полезной информации, касательно моей проблемы.
14 дек 12, 09:22    [13629955]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2019
Камрад led_yurik,
Покажи результат выполения
SELECT connection_pool, status, maxsize FROM dba_cpool_info;

Покажи содержимое TNSNAMES.ORA для соединения клиентов
14 дек 12, 10:23    [13630132]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Изя Кацман,
XEPOOL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.110)(PORT = 1526))
    (CONNECT_DATA =
      (SERVER = POOLED)
      (SERVICE_NAME = XE)
    )
  )

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.110)(PORT = 1526))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

Настройки использую дефолтные!

SQL> SELECT connection_pool, status, maxsize FROM dba_cpool_info;

CONNECTION_POOL  	      STATUS              MAXSIZE
----------------------------------------------------------
SYS_DEFAULT_CONNECTION_POOL   ACTIVE                   40
14 дек 12, 14:49    [13632255]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2019
Посмотри ето
http://www.toadworld.com/KNOWLEDGE/KnowledgeXpertforOracle/tabid/648/TopicID/DRCP/Default.aspx
Помониторь вьюшки, которые описаны в конце.
автор
В приложении, в пиковый период происходит около 5 подключений в секунду

А сколько времени в среднем нужно для обслуживания одного подключения?
Может быть 40 для обслуживания всех желающих маловато?
15 дек 12, 23:54    [13637718]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Изя Кацман,

Это чисто OLTP приложение, запросы отрабатывает за сотые секунды, т.е. в единый момент времени в активном состоянии у меня максимум 3-5 сессий и то в пиковый период.

За ссылки спасибо конечно, но мне кажется я уже до обращения сюда все доступные ресурсы изучил :)
Мне бы понять что является не нормальным при работе через DRCP, т.е. на что стоит обратить внимание?
Меня смущает что в течении двух дней все работает, что происходит в БД после этого, что при использовании DRCP может приводить к возникновению ожиданий library cache: mutex X?
16 дек 12, 08:30    [13638155]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
Lence
Member

Откуда:
Сообщений: 14
led_yurik, решили проблему?
24 апр 13, 17:47    [14226206]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Lence,

Да, перешли с apache на nginx и проблема ушла!
25 апр 13, 06:34    [14227871]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
Lence
Member

Откуда:
Сообщений: 14
Т.е. вы хотите сказать, что library cache: mutex X - причина апача?
25 апр 13, 19:14    [14231937]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Lence,

Думаю проблема была явно на стороне клиента, а вот в чем разница между apache и nginx я не знаю. Но еще раз хочу сказать, проблема только при использовании DRCP, с dedicated проблемы не было.
25 апр 13, 19:39    [14232002]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
Lence
Member

Откуда:
Сообщений: 14
В этой теме ферма из nginx - результат тот же, сессии в БД висели с ожиданием library cache: mutex X при DRCP. Что у вас по поводу железа сервера БД? Виртуалка?
25 апр 13, 20:16    [14232048]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Lence,

Это аппаратный сервер. Сервер приложения и БД в одной ОС. ОС - CentOS release 5.8. Приложение написано на PHP.
я не знаю всех тонкостей работы PHP + Apache или nginx, может там oci клиент другой. В общем, apache был обновлен до последней версии, был обновлен oci, но проблема осталась, потом перешли на nginx, при этом со стороны БД ничего не изменяли и проблема ушла!
Т.е. нужно крутить на клиентской стороне, но возможно там и проблема в другом.
25 апр 13, 20:40    [14232100]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE и DRCP  [new]
Lence
Member

Откуда:
Сообщений: 14
led_yurik, ясно. Спасибо
26 апр 13, 19:48    [14236854]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить