powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как убить висящую сессию
12 сообщений из 12, страница 1 из 1
Как убить висящую сессию
    #33583933
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня повисла сессия и заблочила базу. :-) Пытаюсь ее убить через

onmode -z [sessionid]

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

onstat -u

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

onmode -z 123

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

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

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

Что делать.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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