Oracle错误——ORA-01940: cannot drop a user that is currently connected

时间:2023-12-16 13:03:02

背景

  • 在oracle删除用户时,有的时候会提示ORA-01940: cannot drop a user that is currently connected,不能够删除用户。

原因

  • 这是因为有其他的程序正在连接这个用户数据库,导致不能够删除用户

解决办法

  • 前提:以dba角色操作:sqlplus / as sysdba。否则无操作权限
  • 方法一:kill掉正在连接用户的进程
    • 查询进程:select sid,serial# from v$session where username='XXXX';
    • 杀死进程:alter system kill session 'sid,serial#';
    • 删除用户
  • 注意,方法一有的时候总是也杀不掉相应的进程
  • 方法二:重启oracle
    • 关闭数据库连接:shutdown immediate
    • 启动数据库:startup
    • 删除用户