Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Что означает SQL_ID not null в v$session при статусе INACTIVE ?  [new]
Keru
Guest
Oracle 11.2.0.3

Из документации к v$SESSION

http://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_3016.htm#REFRN30223
SQL_ID VARCHAR2(13) SQL identifier of the SQL statement that is currently being executed

STATUS VARCHAR2(8) Status of the session:
ACTIVE - Session currently executing SQL
INACTIVE - Session which is inactive and either has no configured limits or has not yet exceeded the configured limits

STATE VARCHAR2(19) Wait state:
WAITING - Session is currently waiting
WAITED UNKNOWN TIME - Duration of the last wait is unknown; this is the value when the parameter TIMED_STATISTICS is set to false
WAITED SHORT TIME - Last wait was less than a hundredth of a second
WAITED KNOWN TIME - Duration of the last wait is specified in the WAIT_TIME column


И еще

http://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc.htm#ADMIN11193
A session is ACTIVE when it is making a SQL call to Oracle Database. A session is INACTIVE if it is not making a SQL call to the database.


т.е. пишут, что SQL_ID not null => sql выполняется
STATUS INACTIVE => никакие sql не выполняются.

Где-то здесь противоречие, т.к., например, пишу запрос

select t2.SQL_TEXT, t1.state
from v$session t1
   , v$sql t2
where t1.STATUS = 'INACTIVE'
   and t1.sql_id = t2.SQL_ID
   and t1.SID = 141


возвращает состояние WAITING и следующий запрос

update some_updatable_view set some_column = :1 where id = :2


Это какой-то баг, или я что-то упустил из виду ?

Воспроизвести в pl/sql developere не получается, неважно есть commit или нет в конце, получаю или статус ACTIVE, или в sql_id пусто
13 дек 13, 17:14    [15289869]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить