刪除使用者tbrooke時:
1
drop
user
tbrooke
cascade
;
報錯:ora-01940:無法刪除當前已鏈結的使用者
解決辦法:
1 檢視使用者tbrooke的連線狀況
1
select
username,sid,serial#
from
v$session
where
username=
'tbrooke'
;
2 刪除使用者tbrooke的sid和serial
1
alter
system kill session
'160,2301'
;
3 刪除使用者
1
drop
user
tbrooke
cascade
;
如果在drop 後還提示ora-01940:無法刪除當前已鏈結的使用者,說明還有連線的session,可以通過檢視session的狀態來確定該session是否被kill 了,用如下語句檢視:
1
select
saddr,sid,serial#,paddr,username,status
from
v$session
where
username
is
not
null
;
未刪除是狀態(inactive):
刪除成功狀態(killed):
備註:鎖表 ora-00031: session marked for kill
1
2
3
select
spid, osuser, s.program
from
v$session s,v$process p
where
s.paddr=p.addr
and
s.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 ...