背景
- 在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
- 删除用户