Up until recently, it was not possible to get users cleanly off the database. The options
you had were
- Issue 'alter system kill session' commands, but in this way, the current transaction
for a user would be abandoned
- Perform a 'shutdown immediate' to get everyone off.
From 7.3, Oracle sneaked a "shutdown transactional" mode into the database, which
waited for everyone to complete active transactions before shutdown, which they then
documented in the 8.0 and (I think) 7.3.4 release.
From 8i onwards, there is now a facility to have this transactional control at
a session level. The new syntax is