背景
- 在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
- 刪除用戶