AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2011, 15:15   #1  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
Регулярное падение AOS-в в AX3.0
Доброго времени суток!

AX3.0 SP2 без Kernel Rollup
СУБД - MS SQL Server2000 SP4
2 AOS в кластере, один из них крутится на той же машине, где лежит приложение, другой - на отдельном сервере.
Везде MS Windows Server 2003

Суть проблемы:
Достаточно давно (несколько лет) такая конфигурация нормально, стабильно работала, но вот вот пару месяцев назад начались регулярные, практически ежедневные падания AOS-ов.

Внешние проявления: сначала отваливается один AOS (в разном порядке), затем другой. Отваливается, значит не дает пользователям входить в Axapta пишет что-то вроде "...Kernel mismatch...". Это происходит практически ежедневно в районе 7:30 - 9:00 утра. По выходным бывает и не отваливается.

Прочая информация:
На том же приложении крутятся AOS-ы для других баз данных - они не падают.
Полностью аналогичное приложение + другая БД + другие АОСЫ - не падало вообще ни разу.

Раскопки:
В системных логах после падения постоянно висят записи типа:

Event Type: Error
Event Source: Axapta Object Server
Event Category: None
Event ID: 117
Date: 11.05.2011
Time: 8:21:13
User: N/A
Computer: -----
Description:
Object Server -------: The database reported (session 131 (------)): [Navision Axapta] Unable to retrieve message for retval -1, ODBC call reason code 100,
SQLSTATE =
[њ';%WЊH]
Error message []. The SQL statement was: "SELECT A.ID,A.NAME, __тут список всех полей таблицы USERINFO____,A.COMPILERWARNINGLEVEL,A.RECID FROM USERINFO A(INDEX(I_65531ID) NOLOCK) WHERE ((ID IN (?,?,?,?,?, ___тут ну очень много вопросиков___,?,?,?,?,?) ) AND (ID=?)) OPTION(FAST 2)"

Совершенно не понятно, является ли это причиной падения AOS или следствием. Что это за ошибка, можно почитать тут Проблема с ODBC?, но почему она возникает? Если посмотреть профайл, то при нормальном входе в систему запрос выглядит так:
SELECT A.ID,A.NAME,………..A.COMPILERWARNINGLEVEL,A.RECID FROM USERINFO A(INDEX(I_65531ID) NOLOCK) WHERE (ID=?) OPTION(FAST 2)
ни о каком (ID IN (?,?,?,?,?, ___тут ну очень много вопросиков___,?,?,?,?,?) нету и речи.

Также для некоторых процессов SQL в момент (или до, или после) падения выделяются SPID с номером 65535, причем это не один и тот же процесс или пользователь, да и видно их не всегда (но может успевают завершиться).

пинговали сервер БД с сервера АОСа (который вместе с приложением) - обрыва связи в мамент падения не было.

Пробовали:
- Утреннее время, а также (иногда) отсутствие проблемы по выходным навело на мысль, что это дело рук пользователей (явно неумышленное) - внесли ip-шники всех серверов имеющих отношение к Axapta или БД в список исключений (хотя сисадмины ручались, что и так никто их не перехватывал) - помогло(!) но на пару дней (может просто выходные), потом ситуация повторилась.
- Полная перекомпиляция приложения
- Рестарт всех серверов
Не помогло. Сегодня АОСЫ упали опять.

Собственно вопрос, основной:
1. Почему падают АОСы и как сделать так, чтобы они не падали?

Дополнительный:
2. Почему при входе в систему генерируется такой запрос (с IN и много параметров)? В этом месте явно никто ничего руками не ковырял.

Почему падают АОСы и как сделать так, чтобы они не падали? Это даже не вопрос, а просто крик о помощи!!! Еще немного, и в обязанности программистов внесут ежедневный рестарт АОСов и это войдет в нормальную практику. А очень не хочется.

Заранее спасибо всем, кто откликнется.
Старый 11.05.2011, 15:26   #2  
EfimV is offline
EfimV
Участник
 
30 / 22 (1) +++
Регистрация: 19.04.2008
Адрес: Москва
2 АОСа. А папка приложения у них общая?
Если папки разные возможно приложения стали отличатся.
И нужно одно из них скопировать вместо другого.
Старый 11.05.2011, 15:32   #3  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
Приложение у них одно. АОСы работают в кластере.
Старый 11.05.2011, 15:53   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
на серверах где крутятся АОСы стоят антивирусы?
У нас была похожая ситуация, каждый день в одно и тоже время падал АОС. после штудирования логов выявил, что за секунду до падения АОСа запускался сканер антивируса, который отрубал сеть, в итоге аос падал.
отключили сканирование антивирусом по расписанию, все нормально работает
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 11.05.2011, 15:53   #5  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Какой режим работы в системе (5х8 или 7х24)?
Используется ли COM коннектор?
Сколько пользователей по лицензии и сколько обычно работают?
Сеансы пользователей закрываются корректно или болтаются зависшие сессии?
Старый 11.05.2011, 16:16   #6  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
Работа в режиме 7х24. COM коннектор не используется.

Пользователей по лицензии больше 100, в рабочую нагрузку сидит около сотни (лицензий хватает).
В момент падения было порядка 30 пользователей.

У большинства пользователей установлен автовыход через 2 часа неактивности. Проблем с большим количеством зависших сессий нет - пользователям позволено по 2 максимум и никто не обращается, что не может войти в систему.


Насчет антивируса - есть зараза, но вероятность мала - падают АОСЫ не точно в одно время, а по выходным - так и вообще не падают.
*Но уже выключили нафиг - завтра проверим.
Старый 11.05.2011, 17:09   #7  
EfimV is offline
EfimV
Участник
 
30 / 22 (1) +++
Регистрация: 19.04.2008
Адрес: Москва
На DAX2009 подобная ситуация (падение АОСа) наблюдалась, если вдруг находится пользователь, у которого версия клиента отличается от "актуальной".
Старый 11.05.2011, 17:19   #8  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
Явно не наш случай. Уже много лет все инсталляции клиентов происходят ровно из одной и той же папочки на сетевом диске, абсолютно одинаково (ибо по инструкции) для всех пользователей.
*. на всякий случай напрягу сисадминов, чтобы это проверили. Может есть идея как это сделать по-быстрому?
Старый 11.05.2011, 17:28   #9  
EfimV is offline
EfimV
Участник
 
30 / 22 (1) +++
Регистрация: 19.04.2008
Адрес: Москва
Попробуйте посмотреть по таблице SysUserLog. Поле BuildNum.
Старый 11.05.2011, 17:34   #10  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
Полностью идентичные данные от начала времен...
Старый 11.05.2011, 18:53   #11  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Мне в симптоматике кажутся странным две вещи:
1. Очень странный запрос по UserInfo с большим количеством userId. Никогда не приходилось видеть подобных запросов ни на одной версии Аксапты. Посмотрите - нету ли у вас запросов по UserInfo,написанных местными программистами ? Просто тупо пробегитесь по всему AOD и поищите tablenum(userInfo).
2. Приходилось видеть странности в исполнении запросов в определенное время, потому что админы поставили на утро автоматический шринк базы данных Возможно у вас там сисадмины нечаянно вместо шринк datafile поставили шринк всей базы данных и userInfo блокируется на какое-то время от всех операций, потому что у нее странички в конце файла и ее система пытается переместить в начало tablespace...
Старый 11.05.2011, 19:51   #12  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от fed Посмотреть сообщение
Возможно у вас там сисадмины нечаянно вместо шринк datafile поставили шринк всей базы данных и userInfo блокируется на какое-то время от всех операций, потому что у нее странички в конце файла и ее система пытается переместить в начало tablespace...
И не только шринк, а вообще проверить все задачи, поставленные администраторами на шедулер. У нас была примерно, такая же хрень, когда бэкап админы в шедулере ставили в самый разгар рабочего дня(мы хотели иметь и ночной и дневной ), аос не падал но тормозило жутко.В общем надо откровенно поговорить с админом, мне так кажется.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 11.05.2011 в 19:53.
Старый 12.05.2011, 01:23   #13  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
fed, pustik

все это давно проделано:
1. Есть ряд заданий, которые выполняются примерно в это время, НО(!) они всегда выполняются в одно и то же время и на выходных (а падение АОСов в разное, но в интервале 7:30-9:00 утра). Кроме того, за последние месяцы - ни одного нового задания или модификации ранее запущенных.
Никаких backup или shrink в это время гарантировано не выполняется. Ни БД, ни приложения. (Кстати, shrink не используется вообще, мы жертвуем местом в пользу производительности)

2.Запрос странен не только количеством, но и формой. Включал трассировку всех запросов в момент запуска приложения - от момента запуска, до открытия одной из форм... Обращения к UserInfo есть, но ни в одном из них нет оператора IN с перечислением констант, только WHERE (ID=?).
Программист я, последние пару лет ничего связанного с UserInfo не писалось. StartupPost чист в этом отношении. По всему коду конечно поищу, но если что и писалось, то в формулировке WHERE id=id, а это так и передается в SQL, а не IN.

P.S. Есть подозрение, что такой запрос не причина падения, а его следствие

P.P.S. Более откровенно говорить с админом смысла нет - он (админ БД и Axapta) самая пострадавшая сторона - именно ему приходится постояноо перезапускать АОСы, пакетники и прочее, а также выслушивать недовольство пользователей.
Старый 12.05.2011, 02:05   #14  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от snirk Посмотреть сообщение
Цитата:
Сообщение от EfimV Посмотреть сообщение
Попробуйте посмотреть по таблице SysUserLog. Поле BuildNum.
Полностью идентичные данные от начала времен...
Если вы специально не модифицировали SysUserLog, то от начала времен видите там номера сборки АОСов, а не клиентов. Более подробно это описано вот тут; вкратце метод SysUserLog.insert() выполняется на сервере, поэтому и xInfo::buildNo(), который дергается для заполнения поля BuildNum, выполняется на сервере. Как это исправить, описано, к примеру, вот тут.
За это сообщение автора поблагодарили: Poleax (2), S.Kuskov (2), EfimV (1).
Старый 12.05.2011, 09:51   #15  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от snirk Посмотреть сообщение
В системных логах после падения постоянно висят записи типа:

Event Type: Error
Event Source: Axapta Object Server
Event Category: None
Event ID: 117
Есть предложение открыть АОТ --> Data Dictionary --> правой кнопкой мыши "Синхронизация".
Результат сообщите.

http://www.eggheadcafe.com/software/...arameters.aspx

P.S. Типа надо Администрирование --> Периодические операции --> Администрирование SQL --> Все таблицы --> Проверка/Синхронизация.
Ax 3.0 нет под рукой, это путь из Ax 2009
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Старый 12.05.2011, 09:57   #16  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Poleax Посмотреть сообщение
...

P.S. Типа надо Администрирование --> Периодические операции --> Администрирование SQL --> Все таблицы --> Проверка/Синхронизация.
Ax 3.0 нет под рукой, это путь из Ax 2009
в трешке путь почти такой же
Администрирование \ Периодические операции \ SQL Администрирование --> встаем на "Все таблицы" --> кнопка "Таблицы" --> из списка выбираем "Проверка/Синхронизация"
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 12.05.2011, 11:41   #17  
snirk is offline
snirk
Участник
 
36 / 12 (1) ++
Регистрация: 11.07.2007
Снос всех антивирусов + разделение одного из АОСов и приложения на разные сервера не помогло. Сегодня АОСы легли опять...

gl00mie, лог доработал согласно совету, но это надо денек помониторить (до завтра). Посмотрим.

Poleax, синхронизацию провел. Действительно была одна ошибка, предлагало удалить одну из таблиц. Все сделал, теперь синхронизация проходит нормально. И хотя данная таблица ни разу в логах не присутствовала, возможно поможет - на других копиях приложения с этой же таблицей ошибок не было. Ждем завтра.
Старый 12.05.2011, 12:33   #18  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от fed Посмотреть сообщение
Мне в симптоматике кажутся странным две вещи:
1. Очень странный запрос по UserInfo с большим количеством userId. Никогда не приходилось видеть подобных запросов ни на одной версии Аксапты
Ровно то же самое наблюдал в 4.0. Даже не поленился переправить запрос kashperuk
__________________
-ТСЯ или -ТЬСЯ ?
Старый 12.05.2011, 12:53   #19  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,907 / 5717 (196) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Vadik Посмотреть сообщение
Ровно то же самое наблюдал в 4.0. Даже не поленился переправить запрос kashperuk
Кстати, для 4ки выложили на Microsoft Symbol Server отладочные символы. Так что теперь можно самому крашдамп в WinDbg засунуть и посмотреть где оно там поломалось
Может и для трешки выложили ?
За это сообщение автора поблагодарили: gl00mie (3).
Старый 12.05.2011, 13:11   #20  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
сессии с номерами подобными 65535 это рабочие потоки (WorkerThread). В стандартной 3.0. есть вроде только одно место где они используются - класс SysEventHandler. Главная задача этого класса - сбрасывать различные кеши если используется несколько аосов. Возможно в вашем случае это при большом количестве активных юзеров приводит к завалу аоса, а в выходные когда юзеров мало, то не приводит. Можно попробовать на пару дней отключить этот фунционал, подправив метод shouldRun и посмотреть что будет. Заливать модификации на ходу и править данные в сильно кешированных таблицах в это время не стоит

все вышесказанное на правах пространных размышлений
Теги
aos, ax3.0, crash

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
После установки KR2 на AX3 SP3 не пускает на AOS больше 100 пользователей Alexandr A. Osipkin DAX: Администрирование 14 06.12.2008 02:33
Регулярное падение AOS Alexander Frame DAX: Администрирование 1 05.11.2008 15:45
Вылетает аxапта 4.0 при завершении работы Delfins DAX: Прочие вопросы 5 27.06.2007 15:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:20.