Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Выполнение запроса обрыв связи  [new]
qwerty2012
Member

Откуда:
Сообщений: 249
Выполнение запроса обрыв связи
что будет с запросом Oracle выполнит его?

запускаю огромный инсерт он начинает выполняться код ждет ответа
ну и происходит обрыв что будет?
21 окт 14, 07:45    [16734245]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса обрыв связи  [new]
Elic
Member

Откуда:
Сообщений: 29976
Обрыв обрыву рознь. Всё зависит от того, узнает ли сервер об обрыве сразу же.
21 окт 14, 08:08    [16734274]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса обрыв связи  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34630
qwerty2012,
как правило, обнаружение обрыва связи происходит в момент обмена данными по сети. Если сервер делает что-то независимое, типа выполнение долгой хранимки, то он не остановится.
Я как-то два дня работал после разрыва коннекта .
21 окт 14, 08:24    [16734298]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса обрыв связи  [new]
qwerty2012
Member

Откуда:
Сообщений: 249
а при условии стаблиьного коннекта но execute sql долгий
таймаута не должно быть?
24 окт 14, 10:29    [16752482]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса обрыв связи  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
qwerty2012
а при условии стаблиьного коннекта но execute sql долгий
таймаута не должно быть?

Нет, если только не попадаешь под действие Resource Manager
24 окт 14, 10:33    [16752512]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса обрыв связи  [new]
Александр Олаф
Member

Откуда: Moscow
Сообщений: 164
В любом случае, оракловый клиент не имеет хартбита, так что если ничего не делать то и обмена данными не будет. И обрыв связи неотличим от просто idle. Поэтому да, запрос выполнится, потом процесс попробует отправить сообщение о завершении, вот тут случится tcp таймаут и тогда транзакция откатится. Однако, ситуация веселее, если у нас например многопоточное приложение.
Да, оракловый коннекшн нехорошо в нескольких потоках использовать, но можно ведь себе представить, что приложение корректно завершается с зарктием всех ресурсов. Как минимум при закрытии сокета будет отослан ACK пакетик на сервер и там сокет тоже закроется. Будет ли немедленно прерван запрос - я незнаю :)
24 окт 14, 13:56    [16753912]     Ответить | Цитировать Сообщить модератору
 Re: Выполнение запроса обрыв связи  [new]
qwerty2012
Member

Откуда:
Сообщений: 249
да все в потоках
20 ноя 14, 09:31    [16876162]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить