Sql 无法删除断开连接的oracle用户
我试图从Oracle DB(版本12c)中删除一个用户,但无法使其正常工作。我得到的错误是:Sql 无法删除断开连接的oracle用户,sql,oracle,oracle12c,Sql,Oracle,Oracle12c,我试图从Oracle DB(版本12c)中删除一个用户,但无法使其正常工作。我得到的错误是: ORA-01940: cannot drop a user that is currently connected 自然地,我环顾四周,发现了如何强制断开连接并终止会话。所以我使用了这个查询: select s.sid, s.serial#, status, s.username from v$session s where username = 'user_i_want_to_drop'; 然
ORA-01940: cannot drop a user that is currently connected
自然地,我环顾四周,发现了如何强制断开连接并终止会话。所以我使用了这个查询:
select s.sid, s.serial#, status, s.username
from v$session s
where username = 'user_i_want_to_drop';
然后通过使用
alter system kill session '<sid>,<serial#>' IMMEDIATE;
alter system kill session',“立即”;
自然地使用查询中的值
当我再次运行查询时,它会像预期的那样显示为空。但是,我仍然无法删除用户并获得相同的错误消息
我注意到,当我查询gv$session
时,会显示该用户的两个会话。但是,我不能使用我上面使用的altersystemkill session
语句杀死那些人
我这里缺少什么?其他会话已连接到群集的另一个实例
将inst_id
添加到您的gv$session
查询中,如下所示:
select sid,serial#,inst_id
from gv$session
where username = 'user_i_want_to_drop';
alter system kill session '<sid>,<serial#>,@<inst_id>' immediate;
然后,在alter system kill session
命令中包含inst_id
,如下所示:
select sid,serial#,inst_id
from gv$session
where username = 'user_i_want_to_drop';
alter system kill session '<sid>,<serial#>,@<inst_id>' immediate;