Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
SuperMultik Участник со стажем
Вступление в Клуб: 06.05.2009
|
Чт Май 14, 2009 12:58   |
|
Полезность: Нет оценки
|
select * from v_$session_wait
2 where event like 'pipe%' ;
SID SEQ# EVENT P1TEXT P1 P1RAW
---------- ---------- ----------------------------- ---------------------------------------------------------------- ---------- ----------------
P2TEXT P2 P2RAW P3TEXT P3 P3RAW WAIT_CLASS_ID
---------------------------------------------------------------- ---------- ---------------- ---------------------------------------------------------------- ---------- ---------------- -------------
WAIT_CLASS# WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT STATE
----------- -------------------- ---------- --------------- -------------------
321 40948 pipe get handle address 4,4491E+10 0000000A5BDC0DF8
buffer length 4096 0000000000001000 timeout 5 0000000000000005 2723168908
6 Idle 0 3 WAITING
339 63648 pipe get handle address 4,3177E+10 0000000A0D89CFD8
buffer length 4096 0000000000001000 timeout 300 000000000000012C 2723168908
6 Idle 0 20 WAITING
389 57096 pipe get handle address 4,2911E+10 00000009FDB65038
buffer length 4096 0000000000001000 timeout 5 0000000000000005 2723168908
6 Idle 0 0 WAITING |
|
 |
Serj Профи
Вступление в Клуб: 02.08.2007
|
Чт Май 14, 2009 12:59   |
|
Полезность: Нет оценки
|
SuperMultik пишет: | эм просто если я правильно понял то это не решит проблему то в глобальном смысле, от того что мы очистим пайп.
SQL> SELECT MAX(pipe_size) FROM v_$db_pipes;
MAX(PIPE_SIZE)
--------------
1710 | - длинна в норме , очистим пайп - проверим идею цфт - насчет запуска монитора. |
|
 |
SuperMultik Участник со стажем
Вступление в Клуб: 06.05.2009
|
Чт Май 14, 2009 12:59   |
|
Полезность: Нет оценки
|
вот вот насчет изменения ожидания очень интересно сам искал где крутить чет не попалось. |
|
 |
SuperMultik Участник со стажем
Вступление в Клуб: 06.05.2009
|
Чт Май 14, 2009 13:00   |
|
Полезность: Нет оценки
|
в данный момент проблем с подвисанием не происходит, поэтому проверить очистку пайпа не могу. |
|
 |
Serj Профи
Вступление в Клуб: 02.08.2007
|
Чт Май 14, 2009 13:02   |
|
Полезность: Нет оценки
|
SuperMultik пишет: | в данный момент проблем с подвисанием не происходит, поэтому проверить очистку пайпа не могу. | - в данный момен у вас действительно все ок, с пайпами в базе - сужу по листингу.
Последний раз редактировалось: Serj (Чт Май 14, 2009 13:05), всего редактировалось 1 раз |
|
 |
Serj Профи
Вступление в Клуб: 02.08.2007
|
Чт Май 14, 2009 13:05   |
|
Полезность: Нет оценки
|
SuperMultik пишет: | вот вот насчет изменения ожидания очень интересно сам искал где крутить чет не попалось. | - в доках помню было что-то лень ворошить, просто уменьшать время ожидания - не есть гут - это было введено для смягчения влияния на механизм пайпов, нагрузок на систему - а5 же если ничего не перепутал  |
|
 |
SuperMultik Участник со стажем
Вступление в Клуб: 06.05.2009
|
Пт Май 15, 2009 11:28   |
|
Полезность: Нет оценки
|
ну собственно вот что получилось
SQL> select * from v_$session_wait where event='pipe put';
SID SEQ# EVENT P1TEXT P1 P1RAW
---------- ---------- ----------------------------- ---------------------------------------------------------------- ---------- ----------------
P2TEXT P2 P2RAW P3TEXT P3 P3RAW WAIT_CLASS_ID
---------------------------------------------------------------- ---------- ---------------- ---------------------------------------------------------------- ---------- ---------------- -------------
WAIT_CLASS# WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT STATE
----------- -------------------- ---------- --------------- -------------------
372 16676 pipe put handle address 4,1018E+10 000000098CDD3700
record length 64 0000000000000040 timeout 1 0000000000000001 3875070507
4 Concurrency 0 2 WAITING
попробовал очистить пайп помогло, так же помог запуск в ручную Монитора коммуникационного канала oramon. Но оба эти метода не есть хорошее решение проблемы. Хочется понять почему не запускается этот самый монитор коммуникационного канала автоматически и почему он так сильно влияет на выполнение запросов. |
|
 |
Serj Профи
Вступление в Клуб: 02.08.2007
|
Пт Май 15, 2009 12:15   |
|
Полезность: Нет оценки
|
SuperMultik пишет: | Хочется понять почему не запускается этот самый монитор коммуникационного канала автоматически и почему он так сильно влияет на выполнение запросов. | - почему не запускается - к ЦФТ - может пароли содержат руские буквы и спец символы у юзеров ? - что то было подобное, касаемо почему без вычитки или чистки канала - процедура "висяк" ловит и так ясно - ожидание pipe put для того и есть  |
|
 |
SuperMultik Участник со стажем
Вступление в Клуб: 06.05.2009
|
Пт Май 15, 2009 15:19   |
|
Полезность: Нет оценки
|
с паролями догадка не подтвердилась  |
|
 |
Serj Профи
Вступление в Клуб: 02.08.2007
|
Пн Май 18, 2009 05:00   |
|
Полезность: Нет оценки
|
...Собственно причина известна - размещайте запрос и ждите ответа от ЦФТ , хотя в принципе можно повесить джоб который будет чистить канал который ждет pipe put - сие неправильно но действено. |
|
 |
bibik Участник
Вступление в Клуб: 24.02.2009
|
Пн Май 18, 2009 06:55   |
|
Полезность: Нет оценки
|
Serj пишет: | ...Собственно причина известна - размещайте запрос и ждите ответа от ЦФТ , хотя в принципе можно повесить джоб который будет чистить канал который ждет pipe put - сие неправильно но действено. |
У нас тоже проблема с пайпами, уже почти 2 месяца боремся, возникла сразу после перехода на 10-ку.
Ждать ответов от ЦФТ все равно что у моря погоды, за 2 месяца с момента открытия запроса от них предложены только следующее "решения" - запускать монитор руками(ну ооочень не удобно, да и не решает толком проблему) или прочесывать весь код и искать от чего такое может быть
Пока боремся с помощью джоба по очистки, но это не решение, а так временная заплатка |
|
 |
SuperMultik Участник со стажем
Вступление в Клуб: 06.05.2009
|
Пн Май 18, 2009 08:07   |
|
Полезность: Нет оценки
|
Очищать я так понимаю не очень желательно из за того что теряется выводимая информация, как мне сказали она иногда бывает полезной. А по какому принципу строили джоб? Ищите раз в минуту зависший pipe и очищаете? |
|
 |
bibik Участник
Вступление в Клуб: 24.02.2009
|
Пн Май 18, 2009 08:19   |
|
Полезность: Нет оценки
|
SuperMultik пишет: | Очищать я так понимаю не очень желательно из за того что теряется выводимая информация, как мне сказали она иногда бывает полезной. А по какому принципу строили джоб? Ищите раз в минуту зависший pipe и очищаете? |
Действительно не лучший способ, информация иногда бывает полезна, но другого варианта пока не придумали.
Джоб очень простой, определяем пайпы которые никто не вычитывает:
Код: | select kglnaobj from X$KGLLK , v$session_wait
where event='pipe put' and KGLLKHDL=p1raw; |
и затем их чистим
Код: | exec DBMS_PIPE.PURGE('DEBUG$967'); |
либо можно еще так
Код: | exec loop exit when dbms_pipe.receive_message('PIPE', 1) != 0; end loop; |
|
|
 |
SuperMultik Участник со стажем
Вступление в Клуб: 06.05.2009
|
Пн Май 18, 2009 08:36   |
|
Полезность: Нет оценки
|
я просто хочу узнать как часто его имеет смысл запускать? |
|
 |
Serj Профи
Вступление в Клуб: 02.08.2007
|
Пн Май 18, 2009 08:54   |
|
Полезность: Нет оценки
|
SuperMultik пишет: | я просто хочу узнать как часто его имеет смысл запускать? | - раз в минуту нормально будет - в принципе возможно вычитку пайпа сделать в файл - используя кляузу directory. |
|
 |
|