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

Откуда: Republic of Belarus
Сообщений: 451
Oracle 11.2g
Всем привет.
Не могу побороть такую проблему. Если программа разрывает (не корректно) по каким либо причинам соединение с БД, то сессии остаются висеть. Эти сессии могут висеть в БД по несколько часов, а потом пропадают. Даже если делаешь в начале KILL сессии в базе, то она не закрывается.

Подскажите, как быть? Может у меня что не так настроено на сервере БД?.
13 июл 10, 11:28    [9093553]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
!
Guest
LexMinsk
Даже если делаешь в начале KILL сессии в базе, то она не закрывается

убивай на уровне ОС.
13 июл 10, 11:57    [9093862]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
djeday84
Member

Откуда: default city
Сообщений: 540
LexMinsk,
если винда то так
SELECT 'HOST orakill ' || i.instance_name || ' ' || p.spid, S.STATUS
FROM v$process p, v$session s, v$instance i
WHERE p.addr = s.paddr AND
s.status = 'KILLED'
;
13 июл 10, 12:26    [9094133]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
А на уровне БД это никак не настраивается? Типа там таймаут какой ?
13 июл 10, 12:26    [9094138]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
А если в профиле пользователя задать допустим IDLE TIME (время простоя), то поможет?
13 июл 10, 12:30    [9094182]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
LexMinsk
А на уровне БД это никак не настраивается? Типа там таймаут какой ?

Oracle® Database
Net Services Reference
11g Release 1 (11.1)
SQLNET.EXPIRE_TIME
Purpose
Use parameter SQLNET.EXPIRE_TIME to specify a time interval, in minutes, to send a
probe to verify that client/server connections are active. Setting a value greater than 0
ensures that connections are not left open indefinitely, due to an abnormal client
termination. If the probe finds a terminated connection, or a connection that is no
longer in use, it returns an error, causing the server process to exit. This parameter is
primarily intended for the database server, which typically handles multiple
connections at any one time.

Limitations on using this terminated connection detection feature are:
■ It is not allowed on bequeathed connections.
■ Though very small, a probe packet generates additional traffic that may
downgrade network performance.
■ Depending on which operating system is in use, the server may need to perform
additional processing to distinguish the connection probing event from other
events that occur. This can also result in degraded network performance.

Устанавливается на сервере, не на клиенте.
13 июл 10, 12:44    [9094317]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
borka66
Guest
Убивать сессии с помощью:
alter system disconnect session 'sid,serial#' immediate;

Добавить в sqlnet.ora на сервере параметр для проверки живых сессий:
SQLNET.EXPIRE_TIME=n

n - интервал в минутах
13 июл 10, 12:50    [9094391]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Убивать - не убивать (мёртвые сеансы и KeepAlive)
by Andrey Kriushin
13 июл 10, 12:54    [9094430]     Ответить | Цитировать Сообщить модератору
 Re: Не закрываются сессии.  [new]
LexMinsk
Member

Откуда: Republic of Belarus
Сообщений: 451
Спасибо за подсказки. Буду разбираться.
13 июл 10, 13:53    [9095091]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить