会话终止后创建数据库用户会话

Database user session gets created after session kill

使用 ALTER SYSTEM KILL SESSION 终止会话后,我尝试删除用户,但它说用户已连接。

因此,当我再次终止会话并尝试删除用户时,我观察到每次终止会话时,都会立即创建另一个会话。

示例:

我 运行 查询“删除用户级联”:它说用户连接不能删除

我运行查询:

SELECT 'ALTER SYSTEM KILL SESSION '''||s.sid||','|| s.serial#||''';'  
  FROM v$session s, v$process p 
 WHERE lower(s.username) = 'username'
  AND p.addr(+) = s.paddr and status='INACTIVE';

我收到一个终止会话的查询,现在我终止所有会话并再次 运行 删除用户命令,它说用户已连接。

再次检查用户的会话显示每次都会创建一个非活动会话。

为快速重新连接的应用程序删除用户可能需要几个步骤:

  1. 阻止用户重新连接 alter user username account lock
  2. 终止用户的会话 alter system kill session ...
  3. 等待任何长运行 事务回滚。反复监控回滚进度 运行 select used_urec, gv$transaction.* from gv$transaction
  4. 使用 drop user username
  5. 删除用户