powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как запретить блокировки таблиц?
13 сообщений из 13, страница 1 из 1
Как запретить блокировки таблиц?
    #38399386
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Появилась программа, которая мешает работать другим программам: надолго блокирует доступ к используемым ею таблицам. Ее код у нас есть, но там нет прямых команд на блокировку, нет repeateble read, нет select for update. Пытался просмотреть блокировки с помощью DBA Tools, но она и DBA Tools не дает нормально работать. Транзакции используются явные, вроде везде есть commit/rollback, но 100% уверенности, что нет незавершенных транзакций еще нет. Программа сделана на Qt, сейчас грешим на ее компоненты отображения данных, использование которых требует установки признака scrollabel cursor в odbc dsn. Можно ли как-нибудь отобрать права на блокировку таблиц у пользователя, от имени которого работает данная программа? Или возможны другие методы решения вопроса? Можно ли просмотреть список висящих транзакций?
PS Informix 11.7 FC3 на Windows 2008R2.
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38399426
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010Появилась программа, которая мешает работать другим программам: надолго блокирует доступ к используемым ею таблицам. Ее код у нас есть, но там нет прямых команд на блокировку, нет repeateble read, нет select for update. Пытался просмотреть блокировки с помощью DBA Tools, но она и DBA Tools не дает нормально работать. Транзакции используются явные, вроде везде есть commit/rollback, но 100% уверенности, что нет незавершенных транзакций еще нет. Программа сделана на Qt, сейчас грешим на ее компоненты отображения данных, использование которых требует установки признака scrollabel cursor в odbc dsn. Можно ли как-нибудь отобрать права на блокировку таблиц у пользователя, от имени которого работает данная программа? Или возможны другие методы решения вопроса? Можно ли просмотреть список висящих транзакций?
PS Informix 11.7 FC3 на Windows 2008R2.

onstat ваш друг.
onstat -x дает список транзакций, onstat -k - список блокировок.
Отобрать права на блокировку таблиц нельзя, поскольку блокировки - это механизм обеспечения выбранного режима изоляции.
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38400815
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38402065
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat -g sql
onstat -g ses
расскажут вам, в каком режиме изоляции работает "товарищ", и что за запросы он выполняет.

DBA Tools можно подкрутить - "SET ISOLATION TO DIRTY READ;" должен помочь.
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38402097
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойonstat -g sql
onstat -g ses
расскажут вам, в каком режиме изоляции работает "товарищ", и что за запросы он выполняет.

DBA Tools можно подкрутить - "SET ISOLATION TO DIRTY READ;" должен помочь.
Спасибо за ответ. А в каком файле подкручивать?
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38402713
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010А в каком файле подкручивать?
А какой вы запускаете? :)
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38403246
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойbk0010А в каком файле подкручивать?
А какой вы запускаете? :)
Да там вроде везде прописано set isolation to dirty read;
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38403342
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010АнатоЛойпропущено...

А какой вы запускаете? :)
Да там вроде везде прописано set isolation to dirty read;

Dirty read работает только для чтения. Надо смотреть объемы данных, которые программа модицифирует. И уровень блокировок участвующих таблиц
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38403351
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010АнатоЛойпропущено...

А какой вы запускаете? :)
Да там вроде везде прописано set isolation to dirty read;

Dirty read работает только для чтения. Надо смотреть объемы данных, которые программа модицифирует. И уровень блокировок участвующих таблиц
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38404010
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВыбегаллоDirty read работает только для чтения. Надо смотреть объемы данных, которые программа модицифирует. И уровень блокировок участвующих таблиц
В том-то и беда, что изменяет сотни, максимум тысячу записей, а lock-ов устанавливает миллионы, на все таблицы, с которыми работает. В программе явно задается уровень commited read (видел своими глазами), но видимо, какая-то библиотека ставить repeateble read.
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38404465
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВыбегаллоDirty read работает только для чтения
Я говорил про DBA Tools, который не хочет ТСу давать выборку на заблокированных таблицах.
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38409196
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bk0010ВыбегаллоDirty read работает только для чтения. Надо смотреть объемы данных, которые программа модицифирует. И уровень блокировок участвующих таблиц
В том-то и беда, что изменяет сотни, максимум тысячу записей, а lock-ов устанавливает миллионы, на все таблицы, с которыми работает. В программе явно задается уровень commited read (видел своими глазами), но видимо, какая-то библиотека ставить repeateble read.

onstat -g ses / onstat -g sql выдают информацию об уровне блокировки сессии
...
Рейтинг: 0 / 0
Как запретить блокировки таблиц?
    #38410644
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как запретить блокировки таблиц?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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