powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Кто валит запрос через ODBC на 7200 секунде (120мин)
5 сообщений из 5, страница 1 из 1
Кто валит запрос через ODBC на 7200 секунде (120мин)
    #32571980
kostya0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никак не могу понять , кто прерывает запрос ровно на 7200 сек. Запрос простенький а выполняется долго

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
update  db2admin.tmpTrace  t1 SET To = coalesce(
  (select UserName from db2admin.People  where lcase(TO)=ShortName
  OR lcase(TO)=INetAddr OR lcase(TO)=Fam FETCH FIRST  1  ROWS ONLY),
  TO) 
where 
To<>'' AND 
toIsIN='I' AND 
to not like '%/%' AND 
not Exists (select * from db2admin.People t2 where t2.UserName=t1.To )

причем сам select выполняется за 3 сек

Код: plaintext
1.
2.
3.
4.
5.
select count(*) from   db2admin.tmpTrace  t1 
where To<>'' AND 
toIsIN='I' AND 
to not like '%/%' AND not Exists (select * from db2admin.People t2 where t2.UserName=t1.To )




и возврящает 3000 записей (в db2admin.People 4000 записей.) .
А обновлени выпоняется дофига по времени.

А такой select тоже вылиться через 7200 сек
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select  coalesce (
   select UserName from db2admin.People  where lcase(TO)=ShortName   OR
   lcase(TO)=INetAddr OR lcase(TO)=Fam FETCH FIRST  1  ROWS ONLY),
     TO)   from db2admin.tmpTrace  t1  
where To<>'' AND 
toIsIN='I' AND 
to not like '%/%' AND 
not Exists (select * from db2admin.People t2 where t2.UserName=t1.To )



Все осложняется тем, что это все через ODBC и по большому счету я могу только посылать запросы
(работать через Command Line Processor невозможно, только садиться на телефон и дергать человека там)

Вопроса 2:
1. Как снять ограничение 7200 сек (это 120 минут) ?
2. Как оптимизировать запрос ( создавать в db2admin.tmpTrace индексы - не желательно. В db2admin.People создан по UserName)?
...
Рейтинг: 0 / 0
Кто валит запрос через ODBC на 7200 секунде (120мин)
    #32617613
kostya0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот удалось выковырять ошибку которая выводиться приэтом на клиенте

[IBM][CLI Driver] SQL30081N Ошибка связи. Использовался протокол связи:
"TCP/IP". API связи: "SOCKETS". Ошибка обнаружена в положении:
"172.16.2.98". Ошибку обнаружила функция связи: "recv". Коды ошибок
протокола: "10054", "*", "0".; SQLSTATE=08001


Где что подкрутить ?
...
Рейтинг: 0 / 0
Кто валит запрос через ODBC на 7200 секунде (120мин)
    #32625436
kostya0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сам себе отвечу. Удивлен, что никто не спотыкался об это


Use the KeepAliveTime TCP/IP configuration parameter in the registry. The KEEPALIVE parameter may be created if it does not exist under the Parameters registry subkey. Add this parameter to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

The default value is two hours.




KeepAliveTime
Key: Tcpip\Parameters
Value Type: REG_DWORD - Time in milliseconds
Valid Range: 1 - 0xFFFFFFFF
Default: 7,200,000 (two hours)
Description: The parameter controls how often TCP attempts to verify that an idle connection is still intact by sending a keep alive packet. If the remote system is still reachable and functioning, it will acknowledge the keep alive transmission. Keep alive packets are not sent by default. This feature may be enabled on a connection by an application.
...
Рейтинг: 0 / 0
Кто валит запрос через ODBC на 7200 секунде (120мин)
    #32625473
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вовсе неудивительно - обычно у людей запросы работают, мягко говоря, быстрее.
...
Рейтинг: 0 / 0
Кто валит запрос через ODBC на 7200 секунде (120мин)
    #32839123
NGambler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь сталкивался с похожей проблемой
при выполнении CREATE PROCEDURE ... в Command Line Processor
вываливаеться ошибка

DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL30081N A communication error has been detected. Communication protocol
being used: "TCP/IP". Communication API being used: "SOCKETS". Location
where the error was detected: "192.168.1.186". Communication function
detecting the error: "recv". Protocol specific error code(s): "10054", "*",
"0". SQLSTATE=08001

при этом DB2 рушиться и стартует только при перезагрузке сервера...
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Кто валит запрос через ODBC на 7200 секунде (120мин)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]