天天看點

ORA-01940: cannot drop a user that is currently connected

删除資料庫使用者的時候經常會遇到這樣的錯誤;

ORA-01940: cannot drop a user that is currently connected

原因是有程式在連接配接我們需要删除的使用者,我們删除使用者之前一定要先把連接配接斷掉;

1、查找帳号下哪些連接配接在運作:

SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='USERNAME';

注意:此處需要大寫

SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='SSTEST';   

      SID    SERIAL#

---------- ----------

41813

25993

58747

9153

50402

9264

11237

36180

rows selected.

2、删除使用者程序;

SQL>ALTER  SYSTEM  KILL SESSION '137,41813';

System altered.

SQL>ALTER SYSTEM KILL SESSION '33525993;

System altered.

3、重新檢視使用者連接配接,并确認無連接配接在使用

SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='SSCRM';   

4、删除使用者

drop  user sstest cascade ;

-------------------------------------------------------------------------------------------------------------------------------------------

還有另外一種很暴力的方式:

1.将lsnrctl監聽程式關閉,不允許連接配接再進來

2.關閉資料庫并啟動shutdown immediate    -------->  startup

3.此時删除使用者