Гость
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как запретить блокировки таблиц? / 13 сообщений из 13, страница 1 из 1
17.09.2013, 21:38
    #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
17.09.2013, 22:28
    #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
18.09.2013, 21:35
    #38400815
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить блокировки таблиц?
Спасибо
...
Рейтинг: 0 / 0
19.09.2013, 19:52
    #38402065
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запретить блокировки таблиц?
onstat -g sql
onstat -g ses
расскажут вам, в каком режиме изоляции работает "товарищ", и что за запросы он выполняет.

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

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

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

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

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

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

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


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