在删除oracle用户时提示报错:ORA-01940: 无法删除当前连接的用户
解释:
ORA-01940错误表示你正在尝试删除当前正在连接数据库的用户。Oracle不允许在用户连接到数据库时删除该用户,因为这样会导致用户会话失效,从而引发异常
解决:
(1)查询V$SESSION
视图来查询要删除的用户的会话信息。
记下SID和SERIAL#
(2)终止用户的会话
注意:将sid和serial#替换成上面查询到的
注意:在执行ALTER SYSTEM KILL SESSION
时,如果你不想等待会话自然终止,可以添加IMMEDIATE
选项。但请谨慎使用,因为强制终止会话可能会导致未提交的事务被回滚。
(3)确定会话是否终止
查看session的状态来确定该session是否被kill 了,status 为要删除用户的session状态
如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。
终止所有会话后,你就可以安全地删除用户了
(3)删除用户