Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как убить висящую сессию / 12 сообщений из 12, страница 1 из 1
06.03.2006, 13:16
    #33583933
Петров Андрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
У меня повисла сессия и заблочила базу. :-) Пытаюсь ее убить через

onmode -z [sessionid]

предварительно узнав номер сессии через

onstat -u

Как ее прибить с правами администратора?
...
Рейтинг: 0 / 0
06.03.2006, 13:18
    #33583940
Петров Андрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Собственно вопрос в том что после команды

onmode -z 123

курсор переходит на следующую строку а сессия остается висеть...
...
Рейтинг: 0 / 0
06.03.2006, 13:21
    #33583956
Петров Андрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Собственно вот список сессий. Там же версия сервера...
...
Рейтинг: 0 / 0
06.03.2006, 13:37
    #33584024
Петров Андрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Вопрос снят. Просто оно долго откатывалось :-)
...
Рейтинг: 0 / 0
06.03.2006, 13:55
    #33584102
Ilya Kulagin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Петров АндрейСобственно вот список сессий. Там же версия сервера...

Во флаге (позиция три) написано, что транзакция этой сессии откатывается.

Примечание. Если сессия начала транзакцию, требующую дофига блокировок, то выполняться транзакция будет долго, а сессия "как бы зависнет". Если, минут через Х решить, что "сессия зависла" и сделать onmode -z, то транзакция начнёт откатываться. И будет откатываться примерно те же Х минут . Это - правильно. Так и должно быть. Более того, если вдруг админу приспичит убить весь сервер (например, по kill -9), то при старте сервер дооткатит эту транзакцию. И это тоже правильно.

Что делать.

1. Внимательно. Т.е. очень внимательно работать с блокировками. Нет никаких проблем затормозить работу вообще всего на свете, если блокировки ставить наобум.

2. Схему данных желательно оптимизировать.
...
Рейтинг: 0 / 0
06.03.2006, 16:51
    #33584802
Ix-7.31;9.4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Ilya Kulagin1. Внимательно. Т.е. очень внимательно работать с блокировками. Нет никаких проблем затормозить работу вообще всего на свете, если блокировки ставить наобум.

2. Схему данных желательно оптимизировать.
А можно с этого места и поподробнее? А то ваши максимы звучат прекрасно, но им, IMHO, не хватает конкретики - что значит "очень внимательно"? Да и советы по оптимизации - в студию! BTW, мне кажется, знатоков заклинаниями не проймешь, а новичков только запутаете...
...
Рейтинг: 0 / 0
06.03.2006, 19:26
    #33585244
onstat-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Ix-7.31;9.4 Ilya Kulagin1. Внимательно. Т.е. очень внимательно работать с блокировками. Нет никаких проблем затормозить работу вообще всего на свете, если блокировки ставить наобум.

2. Схему данных желательно оптимизировать.
А можно с этого места и поподробнее? А то ваши максимы звучат прекрасно, но им, IMHO, не хватает конкретики - что значит "очень внимательно"? Да и советы по оптимизации - в студию! BTW, мне кажется, знатоков заклинаниями не проймешь, а новичков только запутаете...

Можно.
Давайте конкрентые данные, по которым можно строить анализ
для вашего конкретного случая.

з.ы Совершенству нет предела.
з.ы.ы Я уже видел одного CAP с похожим поведением.
...
Рейтинг: 0 / 0
09.03.2006, 16:32
    #33590447
Ilya Kulagin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Ix-7.31;9.4 а новичков только запутаете...

Лично мне хотелось побудить оных новичков к чтению документации не только по утилитам управления сервером (до этого, думаю, дело уже дошло), но и по программированию в sql. В которой всё написано, по крайней мере, для 99% реальных случаев.

Я лично тоже начинал с "метода научного тыка пальцем". Т.е. вот эти самые наблюдения "как что откатывается/стартует" - взяты из личного опыта примерно десятилетней давности. Потом таки ценой неоднократных ночных бдений по восстановлению всего-на-свете-порушенного-непринуждённым-движением дошёл до простой мысли: сперва читаю доку, потом думаю, как надо делать, потом делаю. Времени экономится немеряно. И нервные клетки не страдают.
...
Рейтинг: 0 / 0
13.12.2006, 01:52
    #34195084
Valery Chub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
авторВо флаге (позиция три) написано, что транзакция этой сессии откатывается.

Примечание. Если сессия начала транзакцию, требующую дофига блокировок, то выполняться транзакция будет долго, а сессия "как бы зависнет". Если, минут через Х решить, что "сессия зависла" и сделать onmode -z, то транзакция начнёт откатываться. И будет откатываться примерно те же Х минут . Это - правильно. Так и должно быть. Более того, если вдруг админу приспичит убить весь сервер (например, по kill -9), то при старте сервер дооткатит эту транзакцию. И это тоже правильно.
А если после старта сервера транзакция зависла.
Как убить эту транзакцию?
...
Рейтинг: 0 / 0
13.12.2006, 02:28
    #34195097
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Ilya Kulagin Петров АндрейСобственно вот список сессий. Там же версия сервера...

Во флаге (позиция три) написано, что транзакция этой сессии откатывается.

Примечание. Если сессия начала транзакцию, требующую дофига блокировок, то выполняться транзакция будет долго, а сессия "как бы зависнет".

да блокировки-то тут при чем ?! Время уходит на чтение транзакции из логов, в обратном порядке, и выполнении откатывающих операций - т.е. чем длиннее транзакция, и чем больше логов у сервера, тем дольше будет откатываться. Количество блокировок не играет рояли. Если в начале дня открыть транзакцию, весь день апдейтить одну и ту же запись (с единственной блокировкой), и к концу дня начать ее откатывать - то времени на откат уйдет мама не горюй.
В качестве практической меры - могу посоветовать делать транзакции покороче, а перед DELETE проверять число удаляемых записей ( самая распространенная причина LONG TRANSACTION).
...
Рейтинг: 0 / 0
13.12.2006, 02:30
    #34195098
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Valery Chub авторВо флаге (позиция три) написано, что транзакция этой сессии откатывается.

Примечание. Если сессия начала транзакцию, требующую дофига блокировок, то выполняться транзакция будет долго, а сессия "как бы зависнет". Если, минут через Х решить, что "сессия зависла" и сделать onmode -z, то транзакция начнёт откатываться. И будет откатываться примерно те же Х минут . Это - правильно. Так и должно быть. Более того, если вдруг админу приспичит убить весь сервер (например, по kill -9), то при старте сервер дооткатит эту транзакцию. И это тоже правильно.
А если после старта сервера транзакция зависла.
Как убить эту транзакцию?

а никак. Это вызовет data inconsistency. На это информикс пойти не могет !
...
Рейтинг: 0 / 0
13.12.2006, 02:32
    #34195099
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убить висящую сессию
Выбегалло Valery Chub авторВо флаге (позиция три) написано, что транзакция этой сессии откатывается.

Примечание. Если сессия начала транзакцию, требующую дофига блокировок, то выполняться транзакция будет долго, а сессия "как бы зависнет". Если, минут через Х решить, что "сессия зависла" и сделать onmode -z, то транзакция начнёт откатываться. И будет откатываться примерно те же Х минут . Это - правильно. Так и должно быть. Более того, если вдруг админу приспичит убить весь сервер (например, по kill -9), то при старте сервер дооткатит эту транзакцию. И это тоже правильно.
А если после старта сервера транзакция зависла.
Как убить эту транзакцию?

а никак. Это вызовет data inconsistency. На это информикс пойти не могет !

впрочем, саппорт имеет утилиту для "обрезания" logical logs ( tbzero / onzero ), это уже неоднократно обсуждалось на форуме.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как убить висящую сессию / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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