Ошибка конкурентного разделения ресурсов

Инсталляция, обновления, нюансы БД, администрирование системы

Модератор: mike

Ответить
Empyros
заказчик
Сообщения: 67
Зарегистрирован: Пт, 01/02/2008 17:57
Имя Фамилия: Максим Гоголинский
Откуда: Интеллект Консалтинг

Ошибка конкурентного разделения ресурсов

Сообщение Empyros »

В накладной на внутреннее перемещение при формировании ордеров (расчет сальдовых остатков) получили ошибку:
"В течении 30 секунд система не смогла получить доступ к таблице с системной информацией из-за конкурентного разделения ресурсов. Проблема возникла при работе с таблицей 1149.
Завершить аварийно выполнение программы? (Да/Нет)"

Что это за ошибка? С чем связана?
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение cruger »

Не удалось получить значение суррогатного ключа для этой таблицы из-за того что соответствующая запись в таблице x$SurrKeys была кем-то заблокирована
Empyros
заказчик
Сообщения: 67
Зарегистрирован: Пт, 01/02/2008 17:57
Имя Фамилия: Максим Гоголинский
Откуда: Интеллект Консалтинг

Re: Ошибка конкурентного разделения ресурсов

Сообщение Empyros »

А почему блокируется запись в таблице x$SurrKeys? При каких операциях?
Это нормальное поведение программы или где-то есть ошибка?
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение cruger »

При получении следующего значения суррогатного ключа.
В самой по себе блокировки никакой ошибки нет. А вот в том, что она держится так долго - есть. Точнее не ошибка даже, а скорее не учитывание в разработке особенностей конкурентного доступа на первазиве.
Надо по первазивовскому монитору смотреть, кто держит блокировку, смотреть, что он делает. Возможно, запущена длительная транзакция, которая помимо всего прочего вставляет запись в таблицу.
Empyros
заказчик
Сообщения: 67
Зарегистрирован: Пт, 01/02/2008 17:57
Имя Фамилия: Максим Гоголинский
Откуда: Интеллект Консалтинг

Re: Ошибка конкурентного разделения ресурсов

Сообщение Empyros »

cruger писал(а):Надо по первазивовскому монитору смотреть, кто держит блокировку, смотреть, что он делает. Возможно, запущена длительная транзакция, которая помимо всего прочего вставляет запись в таблицу.
А можете подсказать, что конкретно надо смотреть?

В мониторе: MicroKerner -> Active Files
Смотрю у кого из пользователей для файла SURRKEYS.ADF есть что-то в Record Lock Type, Wait State???
Потом смотрю, что этот пользователь делал в Галактике?
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение cruger »

Не админ я по первазиву, но по сути дела примерно так.
В Record Lock Type должно быть не none.
Ну и если тразнакция в прикладном коде, вроде должен быть не none Transaction State.
А вот Wait State не none, по идее, когда по этому хендлу пользователь ждёт, когда кто-то отпустит блокировку.
Seybukan
партнер
Сообщения: 85
Зарегистрирован: Чт, 20/09/2007 12:53
Имя Фамилия: Алексей Семенов
Откуда: ЭП-Аудит
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение Seybukan »

Не существуют ли в ваших бизнес-процессах работа с большим количеством обращений к одной и той же МЦ?
Ну например всю мебель делают из плит ДСП и к данной МЦ идет огромное количество обращений.
Была проблема записи в таблицу SaldoMc. Я ее сам в ПиР писал в свое время. Так вот там дело обстояло в том, что не верно выставлялся семафор при обновлении сальдо.
У меня есть предположения, что при обновления сальдо ЦУ семафоры просто не выставляются.
Уважаемые модераторы может ли возникать такая ситуация из-за отсутствия семафоров или их некорректности?
Аватара пользователя
ruslan
топ-софт
Сообщения: 24
Зарегистрирован: Пт, 21/09/2007 16:38
Имя Фамилия: Руслан Окуневич
Откуда: ТопСофт
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение ruslan »

Таблица с кодом 1149 - это MakeRes "Резервирование при списании МЦ". Эта таблица была блокирована при формировании ордеров в НВП. На мой взгляд обновление сальдо ЦУ тут совсем не при чем, т.к. при обновлении сальдо ЦУ резервы не используются и не корректируются.
Empyros
заказчик
Сообщения: 67
Зарегистрирован: Пт, 01/02/2008 17:57
Имя Фамилия: Максим Гоголинский
Откуда: Интеллект Консалтинг

Re: Ошибка конкурентного разделения ресурсов

Сообщение Empyros »

Ничего не видно - все none, либо не успели, либо не то смотрели.
Ошибка возникает еще и в таблицах - 31201, 1110.
Empyros
заказчик
Сообщения: 67
Зарегистрирован: Пт, 01/02/2008 17:57
Имя Фамилия: Максим Гоголинский
Откуда: Интеллект Консалтинг

Re: Ошибка конкурентного разделения ресурсов

Сообщение Empyros »

Так что делать-то?
Ошибка появляется один-два раза в день, пока пользователь доходит до АСУПа - в мониторе уже ничего не видно.
Как-нибудь историю или лог Pervasive вести можно, чтобы увидеть изменения в Record Lock Type?
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение cruger »

А что пользователь жмёт при получении этого сообщения?
Может ли он не жать ни чего, оставить это сообщение и подойти? Что тогда видно в системе и конкретно по этому пользователю?
Empyros
заказчик
Сообщения: 67
Зарегистрирован: Пт, 01/02/2008 17:57
Имя Фамилия: Максим Гоголинский
Откуда: Интеллект Консалтинг

Re: Ошибка конкурентного разделения ресурсов

Сообщение Empyros »

Ничего не жмет. Может тут получается, что блокировка была, например, 31 секунду? Через 30 секунд - появилось предупреждение, а через секунду - блокировка снялась?
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение cruger »

А что говорит техподдержка?
Всё же это типичная её проблема. Разработчики, очевидно, вряд ли могут с подобным столкнуться...
cruger
топ-софт
Сообщения: 566
Зарегистрирован: Пт, 21/09/2007 15:19
Имя Фамилия: Фёдор Терсин
Откуда: Галактика Софт
Контактная информация:

Re: Ошибка конкурентного разделения ресурсов

Сообщение cruger »

кстати, какая версия первазива
какая версия файла surrkeys?
и какой размер страницы?
Empyros
заказчик
Сообщения: 67
Зарегистрирован: Пт, 01/02/2008 17:57
Имя Фамилия: Максим Гоголинский
Откуда: Интеллект Консалтинг

Re: Ошибка конкурентного разделения ресурсов

Сообщение Empyros »

Pervasive 9.5
║Размер записи (байт)...........267 Записи переменной длины........нет ║
║Размер страницы (байт).........512 Сжатие данных в файле..........нет ║
║Число индексов.................1 Использование VAT..............нет ║
║Число записей..................474 Удаление замыкающих пробелов ║
║Число неиспользуемых страниц...0 в записях переменной длины.....нет ║
Версия BTRIEVE, создавшего файл...7.x
Ответить