Oracle inactive session (last_call_et)

时间:2021-08-28 17:03:51

注意last_call_et的值,

select s.status,s.last_call_et,s.* from v$session s where username='DDD';

在本例中,开了个sqlplus,然后对一张大表进行select * from big_table;

可以开到一直有结果显示出来。

但当查看v$session可以看到status一直是INACTIVE.

同时开另一个session,不做任何事。(last_call_et一直在增加)

而在query的session,last_call_et只是在0,1之间变化。

Oracle inactive session (last_call_et)

oracle doc:

LAST_CALL_ET NUMBER If the session STATUS is currently ACTIVE, then the value represents the elapsed time in seconds since the session has become active.

If the session STATUS is currently INACTIVE, then the value represents the elapsed time in seconds since the session has become inactive.

综上,在判断session为inactive时,要观察一下last_call_et的值,否则有可能误杀。