Проблемы с блокировкой базы.
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Проблемы с блокировкой базы.
У меня стоит Лоция 4.20 версия 080415.
MS SQL 2000.
Проблема заключается в том, что если открыть редактирование
значений атрибута в типах атрибутов и в этом атрибуте примерно 170000 значений (порога, после чего возникает проблема я незнаю).
И этот атрибут фигурирует как обязательный в нескольких типах.
И одновременно с этим другой пользователь делает в лоции какие-либо операции происходит блокировка ьазы пользователем, который редактирует атрибуты.
У меня догадка - была недавно проблема у лоции, они при открытии компонентного документа забывали закрыть транзакцию при этом возникала блокировка. Мне это стоило продолжительной переписки с поддержкой, что-бы они исправили проблему.
Вопрос - у когонибудь возникала проблема с блокировкой при редактировании атрибутов или это наш часный случай?
MS SQL 2000.
Проблема заключается в том, что если открыть редактирование
значений атрибута в типах атрибутов и в этом атрибуте примерно 170000 значений (порога, после чего возникает проблема я незнаю).
И этот атрибут фигурирует как обязательный в нескольких типах.
И одновременно с этим другой пользователь делает в лоции какие-либо операции происходит блокировка ьазы пользователем, который редактирует атрибуты.
У меня догадка - была недавно проблема у лоции, они при открытии компонентного документа забывали закрыть транзакцию при этом возникала блокировка. Мне это стоило продолжительной переписки с поддержкой, что-бы они исправили проблему.
Вопрос - у когонибудь возникала проблема с блокировкой при редактировании атрибутов или это наш часный случай?
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Я точно выяснил, когда происходит блокировка!
Один пользователь в смысле sa открывает карточку типа атрибута, просто
открывает.
После этого другой пользователь заносит значение в этот атрибут, но только
новое,
которое не содержится еще в базе. При этом, когда он нажимает сохранение
карточки объекта
с этим значением атрибута - происходит блокировка. И Лоция ожидает закрытия
карточки этого
типа атрибута у первого пользователя.
Я отправил лог от базы в поддержку и теперь буду ждать результат.
Один пользователь в смысле sa открывает карточку типа атрибута, просто
открывает.
После этого другой пользователь заносит значение в этот атрибут, но только
новое,
которое не содержится еще в базе. При этом, когда он нажимает сохранение
карточки объекта
с этим значением атрибута - происходит блокировка. И Лоция ожидает закрытия
карточки этого
типа атрибута у первого пользователя.
Я отправил лог от базы в поддержку и теперь буду ждать результат.

- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
отсюда вывод - надо сначала думать, а потом открывать карточку атрибута и быстренько-быстренько все изменять и закрывать

а блокировка - в каком смысле?
у 2-го юзера не закрывается карточка объекта?
а как это выглядит на сервере? идет долгая транзакция? а в итоге у какого то из этих двух юзеров будет deadlock? или просто висит транзакция, пока не надоест?
странно, конечно.. вот тебе блин и многопользовательская система
ждем ответа (у нас такого не было, но просто интересно уже)
а вот кстати, у кого-нить есть проблемы с блокировками? у нас в последнее время они что-то участились, причем юзеры сами блокируют друг друга
пытаемся выяснить моменты, когда это происходит..
в это время в базе повисают активные транзакции (я смотрю на стандартные счетчики сиквела).
для быстрого вычисления "виновника" пришлось сделать вот такой скрипт:
1-я часть возвращает список ожидающих сессий, 2-я часть - сессию того, кто блокировал остальных. таким образом, в нормальном режиме скрипт ничего не возвращает.
может, кому пригодится


а блокировка - в каком смысле?
у 2-го юзера не закрывается карточка объекта?
а как это выглядит на сервере? идет долгая транзакция? а в итоге у какого то из этих двух юзеров будет deadlock? или просто висит транзакция, пока не надоест?
странно, конечно.. вот тебе блин и многопользовательская система

ждем ответа (у нас такого не было, но просто интересно уже)
а вот кстати, у кого-нить есть проблемы с блокировками? у нас в последнее время они что-то участились, причем юзеры сами блокируют друг друга

пытаемся выяснить моменты, когда это происходит..
в это время в базе повисают активные транзакции (я смотрю на стандартные счетчики сиквела).
для быстрого вычисления "виновника" пришлось сделать вот такой скрипт:
Код: Выделить всё
select spid, blocked, open_tran, status, hostname, loginame from master..sysprocesses
where blocked <>0
select spid, blocked, open_tran, status, hostname, loginame from master..sysprocesses
where
spid in
(
select blocked from master..sysprocesses
where blocked <> 0
)
and blocked = 0
может, кому пригодится
лучше день потерять, потом за пять минут долететь!
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Висит карточка или то действие, которое заносит значение атрибута.Anderyt писал(а): у 2-го юзера не закрывается карточка объекта?
а как это выглядит на сервере? идет долгая транзакция? а в итоге у какого то из этих двух юзеров будет deadlock? или просто висит транзакция, пока не надоест?
Длительность мы не замеряли, потому что надо работать.
На сервере это выглядит так - устанавливается блокировка тем сеансом, который открыл карточку, а тот сеанс, который заносит знаечение ожидает конца блокировки.
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Вроде нашли решение.
Нужно на сервер установить hotfix
http://www.microsoft.com/downloads/deta ... layLang=en
Вечером установим и завтра будет видно - решится или нет проблема.
Только обидно что поддержка не сообщила, что проблему устранит данный hotfix, а нам пришлось искать его самим.
Нужно на сервер установить hotfix
http://www.microsoft.com/downloads/deta ... layLang=en
Вечером установим и завтра будет видно - решится или нет проблема.
Только обидно что поддержка не сообщила, что проблему устранит данный hotfix, а нам пришлось искать его самим.

- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
А я совсем не уверен, что техподдержка Лоции должна знать о всех глюках MSSQL, которые встретятся в той или иной ситуации. Они могут об этом просто не знать... Так же как и ты не вопроизведешь проблему, которая в определенной ситуации на определенных данных появится, например, у меня, так и техподдержка Лоции пытается воспроизвести ситуацию согласно твоему описанию.Юрий писал(а): Только обидно что поддержка не сообщила, что проблему устранит данный hotfix, а нам пришлось искать его самим.
"Лучше меньше, да лучше" (C)
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Вобщем сошлись на том, что с MSSQL 2000 работать не будет...
Поддержка говорит - поставте патчи везде....
И говорят что проблема с железом...
На счет железа - у нас куплен HP блейд и получается нам нужно еще скупить на пробу
кучю дорогих серверов, что-бы заработала лоция!
А сервиспаки - у меня на машине стоит XP с SP3 я себе на машину поставил 2000 sql и поставил на него SP4 c последними фиксами.
Затем запустил Лоцию и повторил ситуацию - блокировка возникает.
P.S. У меня больше всего закрадывается подозрение - что виноваты не сервер или клиент, а PowerBuilder на котором написанна Лоция.
На сайте PowerBuilder уже уйма патчей на 9 версию, а у нас библиотечки давненько не обновлялись....
Поддержка говорит - поставте патчи везде....
И говорят что проблема с железом...
На счет железа - у нас куплен HP блейд и получается нам нужно еще скупить на пробу
кучю дорогих серверов, что-бы заработала лоция!

А сервиспаки - у меня на машине стоит XP с SP3 я себе на машину поставил 2000 sql и поставил на него SP4 c последними фиксами.
Затем запустил Лоцию и повторил ситуацию - блокировка возникает.
P.S. У меня больше всего закрадывается подозрение - что виноваты не сервер или клиент, а PowerBuilder на котором написанна Лоция.
На сайте PowerBuilder уже уйма патчей на 9 версию, а у нас библиотечки давненько не обновлялись....
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Мне рассказали люди, которые пасутся на форумах типа SQL.RU, что с такой же проблемой сталкивались и другие пользователи, которые не связаны с Лоцией и не использовали ПО, написанное на Power Builder. Причем, на одной и той же конфигурации софта но на разном железе. Проблема возникала только на определенном железе сервера.
"Лучше меньше, да лучше" (C)