怎么刪除oracle當前連接的用戶

方法:1、利用“v$Session”找出連接當前用戶的session;2、利用“alter system kill session ‘sid,serial#’”殺掉會話;3、利用“drop user…cascade;”刪除當前用戶即可。

怎么刪除oracle當前連接的用戶

本教程操作環境:windows10系統、oracle 11g版、Dell G3電腦。

怎么刪除oracle當前連接的用戶

測試環境的oracle數據庫,隨著軟件開發的版本升級,需要重新刷數據庫,因為隨著測試環境使用一段時間之后,里面的數據會越來越多,有時候為了功能測試的方便,測試環境下的數據庫里的數據會出現不一致的情況,這樣對后續版本的測試會有一定的影像和干擾。為了避免以上情況的發生,一般會先清除當前數據庫用戶下面的所有對象,然后重新創建。但刪除一個用戶下面所有的對象及數據,需要先找出當前用戶下有哪些對象,然后再刪除,使用刪除用戶級聯刪除的方式,非常簡單方便,但當前要刪除的用戶被使用連接,則不能刪除,需要先殺掉會話,再刪除。

首先需要使用xshell工具連接上oracle數據庫服務器(這里介紹的是linux環境下的,windows環境更為簡單點),如果不是當前linux用戶不是oracle用戶,需要切換都oracle用戶下,輸入命令,su – oracle進行切換

怎么刪除oracle當前連接的用戶

在oracle用戶下執行,sqlplus / as sysdba,即以管理員sys身份登錄數據庫,刪除用戶一般只有管理員賬戶才有的權限,如果只是查詢數據庫表以及數據的話,則只需要使用普通賬戶登錄即可。連接上之后會提示Connected to: oracle databases等提示信息,并且出現的輸入提示符變成了SQL>

怎么刪除oracle當前連接的用戶

然后輸入刪除用戶的語句,DROP USER cqt CASCADE; CASCADE表示級聯刪除該用戶下所有對象信息的意思。如圖提示了,ORA-01940的錯誤,不能刪除當前正在被連接的用戶

怎么刪除oracle當前連接的用戶

如果還想繼續刪除的話,需要先查詢出當前連接該用戶的會話信息,然后殺掉,再執行刪除操作。查詢語句為:select sid,serial# from v$session where username=’CQT’;注意大小寫的區別。如圖查詢出了多個連接該用戶的會話信息,需要將以上查詢到的用戶會話都kill掉

怎么刪除oracle當前連接的用戶

kill掉會話的語句為:alter system kill session ‘15,19095’;多個會話的,可以分別執行多次kill掉就可以了

怎么刪除oracle當前連接的用戶

以上會話被清除之后,再次執行刪除用戶的命令,如圖所示,這次可以成功的刪除了。因為此語句添加了級聯刪除的關鍵字,所以該用戶下的所有對象和數據都會被刪除的。

怎么刪除oracle當前連接的用戶

以上就完成了用戶及對象的刪除操作,如果是刷庫操作,則可以開始重新創建用戶然后在分配權限,執行數據庫腳本,即可進行新的一輪版本的測試了。

推薦教程:《Oracle視頻教程

以上就是怎么刪除

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享