oracle:ORA-01940无法删除当前已连接用户的解决方案

由于开发过程中对数据库的操作比较多,另外也是怕占用资源,决定将数据库所使用用户删除掉,然后可能是资源占用,oracle报错了,提供解决方案:

1.首先将索要删除的用户锁定(这句必须执行):

     alter user 用户名 account lock;

2.查看当前用户占用资源:

     select saddr,sid,serial#,paddr,username,status from v$session where username = '用户名';

然后可以看到status  为 INACTIVE 的记录;

3. 执行以下杀死进程的sql(下面的两个参数是status  为 INACTIVE 时的记录):

  alter system kill session 'sid,serial#';

4. 执行删除用户操作

  drop user 用户名 cascade;

注意:如果发现 v$session 表中一直存在状态 为 INACTIVE 的记录,那么,恭喜你,你可能蠢蠢的忘记执行第一句 锁住用户的sql了,笨蛋~

 

posted on 2018-02-05 17:36  宋兰君  阅读(10040)  评论(0编辑  收藏  举报

导航