ORA 01940 無法刪除當前已鏈結的使用者

2021-09-20 22:13:57 字數 1884 閱讀 7468

刪除使用者tbrooke時:

1

dropusertbrookecascade;

報錯:ora-01940:無法刪除當前已鏈結的使用者

解決辦法:

1    檢視使用者tbrooke的連線狀況

1

selectusername,sid,serial#fromv$sessionwhereusername='tbrooke';

2    刪除使用者tbrooke的sid和serial

1

altersystem kill session'160,2301';

3    刪除使用者

1

dropusertbrookecascade;

如果在drop 後還提示ora-01940:無法刪除當前已鏈結的使用者,說明還有連線的session,可以通過檢視session的狀態來確定該session是否被kill 了,用如下語句檢視:

1

selectsaddr,sid,serial#,paddr,username,statusfromv$sessionwhereusernameisnotnull;

未刪除是狀態(inactive):

刪除成功狀態(killed):

備註:鎖表 ora-00031: session marked for kill

1

2

3

selectspid, osuser, s.program

fromv$session s,v$process p

wheres.paddr=p.addrands.sid=160

在os上殺死這個程序(執行緒):

linux上,用root身份或是相應的oracle身份執行命令:

1

#kill -9 9846--9846 上一步查詢出的spid

windows(unix也適用)用orakill殺死執行緒,orakill是oracle提供的乙個可執行命令,語法為:

orakill sid thread

ps:sid:表示要殺死的程序屬於的例項名

thread:是要殺掉的執行緒號,即第3步查詢出的spid。

exp:

c:>orakill orcl 9846

ORA 01940無法刪除當前已連線使用者

1 檢視使用者的連線狀況 select username,sid,serial from v session 如下結果 username sid serial netbnew 513 22974 netbnew 514 18183 netbnew 516 21573 netbnew 531 9 wu...

ORA 01940無法刪除當前已連線使用者

ora 01940無法刪除當前已連線使用者 1736188794 1 檢視使用者的連線狀況 select username,sid,serial from v session 如下結果 username sid serial netbnew 513 22974 netbnew 514 18183 n...

ORA 01940無法刪除當前已連線使用者

最近oracle把哦整爽老。哇哈哈。前提 當使用者無法刪除時,你需要看一下是否客戶端連線工具未斷開連線 1 檢視使用者的連線狀況 select username,sid,serial from v session 如下結果 username sid serial netbnew 513 22974 ...