|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Всем привет! DB2 for i - исключительно устойчивая СУБД, платформа System i может месяцами молотить без перезагрузки... Но периодически сталкиваемся с необъяснимой плавающей ошибкой: один и тот же SQL код на одних и тех же данных в разные моменты времени может выполниться успешно, а может и упасть с ошибкой SQL System Error, при этом повторный запуск той же процедуры может пройти успешно. Причем судя по логам (практически в каждой хранимой процедуре/функции предусмотрено логирование ошибки в таблицу БД) эта ошибка проявляет себя уже в течение многих лет, т.е. установка новых PTF на систему ситуацию не исправляет. В ближайшее время админы запланировали установку последних PTF на тестовой среде, но больше чем уверен, что ошибка не уйдет, в чудеса не верю. Ткните чайника носом, в каком направлении копать? По идее вопросом заниматься должны админы, но они требуют от нас - разработчиков - информации о том, на каких данных и при каких условиях возникает ошибка. Да на любых данных она возникает! Бессистемным совершенно образом! Коллеги, need help... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 09:16 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Mikhail.Gurusov, Эээ... А не хотите в поддержку обратиться? Поддержка скажет, какую информацию и как собрать. Вообще, отработанность механизмов обращения в поддержку вендора - одина из важнейших вещей при обеспечении надёжности системы. "Поломаться" может всё, вопрос - как быстро можно обратиться к "починятелям". В некоторых случаях только вендор/команда разработки продукта вообще способны что-либо сделать. Возможно, как раз ваш случай. Тем не менее: Как я понимаю, проблема невоспроизводима (не можете создать стенд/условия, при которых ошибка гарантированно возникнет). В этой ситуации обращаться к разработчикам/тестерам (короче, наблюдателям возникновения той ошибки) несколько бессмысленно. Разве что запросить точное время возникновения ошибки и силами же админов восстановить данные ровно на тот момент и запустить запрос ещё раз. Мороки много, результат не гарантирован (может, например, быть связан с наличием определённых параллельных запросов или состояния движка СУБД, что для system i считай самой операционки), но если удастся поймать проблему за хвост, считайте 90% дела сделано. В то же время, если это SQL System Error (не могли бы Вы, кстати, привести более точное описание - код ошибки, полный текст, известно ли на каком конкретно SQL statement'е возникает?), то админы должны бы видеть что-то и у себя в логах... BTW Оно может оказаться каким-нибудь банально прибитым коннектом по факту возникновения deadlock'а или чем-нибудь подобным, что есть вполне штатно, легитимно и относится скорее к ошибке дизайна приложения. Имеют клиенты в подобных ситуациях свойство кричать страшным криком, что сервер у нас чуть не загнулся и аж не может больше принимать коннекты. Вышеперечисленное - из общих соображений. В надежде на то, что основные принципы на System i в таких случаях не сильно отличаются от UDB/for LUW или чего-либо другого. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 16:41 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Код ошибки какой, всегда один и тот же? У нас был один случай с похожей по типу ошибкой уровня MI (правда воспроизводился устойчиво), который закончился PTF - привлекайте саппорт в любом случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 05:25 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
CawaSPb, спасибо за советы, вся прелесть System i в том, что это совершенно другая ветка разработки СУБД DB2, там только название общее, и, скорее всего, алгоритмы, но движки - совершенно разные. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 09:41 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Serg0, провел дополнительные изыскания, похоже на то, что код ошибки один и тот же SQLSTATE = 58004 (A system error (that does not necessarily preclude the successful execution of subsequent SQL statements) occurred.) SQLCODE = -901 к сожалению, SQLCODE оказался не весь залогирован, по документации возможные значения -901, -4301 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 10:48 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Движки конечно разные, но суть прикладных проблем от этого не зависит, CawaSPb писал о дедлоках и проблемах с коннектами... Версии ОС на ошибку влияют? А по ошибке, могу сказать, что для самостоятельного анализа этого не достаточно - что-то слишком общее. Нужно спускать ниже, до уровня Machine Interface и получить код ошибки системы, а не движка БД, тогда можно будет поискать у IBM на сайтах. у нас была проблема с group by & order by и оптимизатором, которую IBM решал в течение полугода, но workaround они дали довольно быстро. Посмотрите, если интересно - AIXPortal ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 11:36 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Serg0, вот тут-то и начинается самое интересное... все контакты по ТП IBM в руках у админов AS400, от нас они требуют для обращения к вендору подробностей, а каких подробностей надобно - сказать внятно могут только спецы вендора... круг замкнулся... Админы в ТП уже написали, и IBM стандартно предложил поставить последние PTF. Ждем завершения установки PTF на тестовой машине. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 17:03 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Mikhail.Gurusovспасибо за советы, вся прелесть System i в том, что это совершенно другая ветка разработки СУБД DB2, там только название общее, и, скорее всего, алгоритмы, но движки - совершенно разные. Да, я в курсе. С System i приходилось работать лишь опосредованно (в связке с LUW). Был, кстати, PMR - висли приложения, бегущие на sistem i, при обрыве DRDA коннектов со стороны LUW сервера (вот были у нас такикие странные приложения, напрямую работающие с AS/400 с базой под Win :O). Слава богу аналогичная картина воспроизвелась с Win клиентов, т.е. удалось свести тест кейз к одному продукту и платформе, что очень помогло при общении с саппортом. Однако не могу не отметить, что не смотря на внутреннее разное устройство движков, IBM много делает для унификации как самого SQL, так и _диагностики_. Т.е. тот же SQL901N чётко говорит - да, системная ошибка, а не сообщение от бизнес-логики процедуры, в котором разработчику вдруг придумалось назвать ошибку "системной". В первом случае либо самим (админам) глубоко лезть в логи и изучать детали, либо в поддержку. Во втором - вопрос только к разработчикам процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 17:04 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Mikhail.Gurusov, пришлите админам таймстамп события, юзера и потребуйте анализа джоб логов и хистори лога. включения аудиторского журнала для юзера под которым возникают ошибки (если это конечно не конкретные васи-пети) - им же будет проще выйти на ошибку. Странные у вас взаимоотношения с админами, понимаю, что это естественные антогонисты, но не враги же... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2016, 06:58 |
|
DB2 for i SQL System Error
|
|||
---|---|---|---|
#18+
Serg0Mikhail.Gurusov, пришлите админам таймстамп события, юзера и потребуйте анализа джоб логов и хистори лога. включения аудиторского журнала для юзера под которым возникают ошибки (если это конечно не конкретные васи-пети) - им же будет проще выйти на ошибку. Интересная мысль, спасибо за совет, может попробуем своими силами эти логи расчекрыжить. Serg0Странные у вас взаимоотношения с админами, понимаю, что это естественные антогонисты, но не враги же... Странные - не то слово... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2016, 08:55 |
|
|
start [/forum/topic.php?fid=43&fpage=11&tid=1600513]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
others: | 331ms |
total: | 445ms |
0 / 0 |