我試圖重新初始化一個Oracle DB和我看到下面的錯誤用戶:不能刪除當前連接
[sql] Failed to execute: drop user conns cascade
[sql] java.sql.SQLException: ORA-01940: cannot drop a user that is currently connected
[sql] Failed to execute: create user conns identified by conns default tablespace tbs_conns temporary tablespace temp1
[sql] java.sql.SQLException: ORA-01920: user name 'CONNS' conflicts with another user or role name
的問題是,NO ONE連接:這是一個實例在我的本地計算機上,沒有外部連接和我只是重新啓動,並沒有運行任何其他。我唯一能想到的是,Oracle可能有一些背景(清理?)任務正在運行導致此問題,但我不知道如何查找/管理該問題。有任何想法嗎?
更新:這個腳本實際上下降並重新初始化了一堆表格,並試圖重新運行了幾次後,我得到了同樣的錯誤消息,但在不同的表:Failed to execute: drop user csmy cascade
。經過幾次嘗試後,它又移動到另一個用戶:Failed to execute: drop user deb cascade
。似乎是按照字母順序逐個鎖定這些表格!
更新2:在重新運行腳本大約15次後 - 每次在表格中稍微進一步沿着字母表失敗 - 它已經完成並且一切正常。我仍然很想知道發生了什麼 - 我最好的猜測是一些後臺Oracle進程,但我不知道如何檢查。
更新3:我上次再次運行腳本時遇到了同樣的問題,這次在用戶「cap」上失敗。爲了嘗試新的東西,我激活了sqlplus並手動運行了drop user cap cascade
命令,並且看,它工作得很好。我試了一下腳本,然後就完成了。因此,由於手動丟棄用戶不需要工作,所以我強烈懷疑腳本本身就是責任。
如果'drop user cap cascade'命令有效(大概來自sql * plus),並且腳本有問題,那麼查看腳本會很有用。 – 2010-11-30 13:49:10