when looking at the orace documentation chapter 4, Managing Oracle Processes, in administration guide (page 106-107) it is writen better then i can write it, so i simply copyd the following part's:
If a user session is making an SQL call to Oracle (is ACTIVE) when it is terminated,
the transaction is rolled back and the user immediately receives the following mes-sage:
ORA-00028: your session has been killed
If an active session cannot be interrupted (for example, it is performing network I/
O or rolling back a transaction), the session cannot be terminated until the opera-tion
completes. In this case, the session holds all resources until it is terminated.
Additionally, the session that issues the ALTER SYSTEM statement to terminate a
session waits up to 60 seconds for the session to be terminated; if the operation that
cannot be interrupted continues past one minute, the issuer of the ALTER SYSTEM
statement receives a message indicating that the session has been “marked” to be
terminated. A session marked to be terminated is indicated in V$SESSION with a
status of “KILLED” and a server that is something other than “PSEUDO.”
If the session is not making an SQL call to Oracle (is INACTIVE) when it is termi-nated,
the ORA-00028 message is not returned immediately. The message is not
returned until the user subsequently attempts to use the terminated session.
When an inactive session has been terminated, STATUS in the view V$SESSION is
“KILLED.” The row for the terminated session is removed from V$SESSION after
the user attempts to use the session again and receives the ORA-00028 message.