会话终止后创建数据库用户会话
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';
我收到一个终止会话的查询,现在我终止所有会话并再次 运行 删除用户命令,它说用户已连接。
再次检查用户的会话显示每次都会创建一个非活动会话。
为快速重新连接的应用程序删除用户可能需要几个步骤:
- 阻止用户重新连接
alter user username account lock
- 终止用户的会话
alter system kill session ...
- 等待任何长运行 事务回滚。反复监控回滚进度 运行
select used_urec, gv$transaction.* from gv$transaction
- 使用
drop user username
删除用户
使用 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';
我收到一个终止会话的查询,现在我终止所有会话并再次 运行 删除用户命令,它说用户已连接。
再次检查用户的会话显示每次都会创建一个非活动会话。
为快速重新连接的应用程序删除用户可能需要几个步骤:
- 阻止用户重新连接
alter user username account lock
- 终止用户的会话
alter system kill session ...
- 等待任何长运行 事务回滚。反复监控回滚进度 运行
select used_urec, gv$transaction.* from gv$transaction
- 使用
drop user username
删除用户