ORA-01940:無法刪除當前已連線的使用者
今天在現場作業時,需要先刪除使用者;在執行drop user時提示“ORA-01940: cannot drop a user that is currently connected”,當時的環境如下:
作業系統:Windows XP
資料庫:Oracle 10.2.0.1
當時時間比較著急,直接採取了釜底抽薪的辦法——拔網線,這招很管用,再次執行drop user就成功了。考慮到以後不一定所有場合都允許你採取這種簡單粗暴的辦法,就在虛擬機器上重現了這個報錯,尋求一種較為溫和的解決辦法。
首先我開啟兩個虛擬機器,在1號虛擬機器上啟動了兩個例項,開啟了3個連線到scott使用者的視窗;在2號虛擬機器上啟動了一個例項,開啟了一個連線到scott使用者的視窗。這時我登入sys使用者執行drop user操作,復現了上述報錯。
首先,我們檢視scott使用者的連線狀況;
接下來,我們kill上述連線;
再次查詢scott使用者的連線狀況,確認所有連線被清除完畢;
看到這兒,不要驚慌,不要以為這些連線還在;我們只要查詢一下上述連線的狀態就明白了。
由上述查詢結果得知,scott使用者的所有連線已經被kill了;現在我們執行drop user,看一下是否能夠成功;
由此,ORA-01940報錯得到順利解決。大家如果以後碰到這個問題,可以按照實際環境來決定是採取“簡單粗暴”的解決辦法(拔網線),還是上述這種“溫和”的解決辦法。
作業系統:Windows XP
資料庫:Oracle 10.2.0.1
當時時間比較著急,直接採取了釜底抽薪的辦法——拔網線,這招很管用,再次執行drop user就成功了。考慮到以後不一定所有場合都允許你採取這種簡單粗暴的辦法,就在虛擬機器上重現了這個報錯,尋求一種較為溫和的解決辦法。
首先我開啟兩個虛擬機器,在1號虛擬機器上啟動了兩個例項,開啟了3個連線到scott使用者的視窗;在2號虛擬機器上啟動了一個例項,開啟了一個連線到scott使用者的視窗。這時我登入sys使用者執行drop user操作,復現了上述報錯。
點選(此處)摺疊或開啟
-
[oracle@enmoedu1 ~]$ sqlplus / as sysdba
-
-
SQL*Plus: Release 11.2.0.3.0 Production on Fri Apr 17 21:25:40 2015
-
-
Copyright (c) 1982, 2011, Oracle. All rights reserved.
-
-
-
Connected to:
-
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
-
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-
-
SQL> drop user scott cascade;
-
drop user scott cascade
-
*
-
ERROR at line 1:
-
ORA-01940: cannot drop a user that is currently connected
-
-
- SQL>
點選(此處)摺疊或開啟
-
SQL> select username,sid,serial# from v$session where username='SCOTT';
-
-
USERNAME SID SERIAL#
-
------------------------------ ---------- ----------
-
SCOTT 19 355
-
SCOTT 20 13693
-
SCOTT 26 15
-
SCOTT 127 7
-
- SQL>
點選(此處)摺疊或開啟
-
SQL> alter system kill session'19,355';
-
-
System altered.
-
-
SQL> alter system kill session'20,13693';
-
-
System altered.
-
-
SQL> alter system kill session'26,15';
-
-
System altered.
-
-
SQL> alter system kill session'127,7';
-
-
System altered.
-
- SQL>
點選(此處)摺疊或開啟
-
SQL>
-
SQL> select username,sid,serial# from v$session where username='SCOTT';
-
-
USERNAME SID SERIAL#
-
------------------------------ ---------- ----------
-
SCOTT 19 355
-
SCOTT 20 13693
-
SCOTT 26 15
-
SCOTT 127 7
-
- SQL>
點選(此處)摺疊或開啟
-
SQL>
-
SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
-
-
SADDR SID SERIAL# PADDR USERNAME STATUS
-
-------- ---------- ---------- -------- ------------------------------ --------
-
578CC410 19 355 583AD258 SCOTT KILLED
-
578C9890 20 13693 583AD258 SCOTT KILLED
-
578B9390 26 15 583AD258 SCOTT KILLED
-
579DED90 120 95 5836FFB4 SYS ACTIVE
-
579CBD10 127 7 583AD258 SCOTT KILLED
-
- SQL>
點選(此處)摺疊或開啟
-
SQL>
-
SQL> drop user scott cascade;
-
-
User dropped.
-
- SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-1584002/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-01940 無法刪除當前連線的使用者
- 刪除當前資料庫連線使用者資料庫
- win10 無法刪除當前使用者要怎麼解決_win10系統刪除賬戶怎麼刪除不了Win10
- “無法刪除資料庫,因為該資料庫當前正在使用” – 解決方法資料庫
- 無法刪除pod的處理
- SQL Server無法刪除資料庫 "xxx",因為該資料庫當前正在使用(如何刪除一個Sql Server資料庫)SQLServer資料庫
- photoshop無法刪除圖層
- swoole websocket 使用 passport 無法獲取當前使用者問題WebPassport
- (已刪除)
- 刪除當前目錄下的所有可執行檔案
- windows10怎麼刪除寬頻連線2_windows10刪除寬頻連線2的方法Windows
- u盤裡的檔案無法刪除 如何刪除u盤裡刪不掉的檔案
- 解決sqlserver資料庫單一使用者無法刪除的問題SQLServer資料庫
- 本地無法連線Mysql的原因MySql
- 透過su - userName 切換使用者,無法透過userdel -r 刪除使用者?
- ThinkPad安裝Ubuntu16.04出現無法連線無線網路,搜不到WiFi,無法使用WiFi(已解決)ThinkPadUbuntuWiFi
- Oracle監聽程式當前無法識別連線描述符中請求服務 解決方法Oracle
- 檢視當前pg會話連線數會話
- root使用者無法通過ssh連線Linux系統Linux
- mysql 遠端無法連線MySql
- bitbucket無法使用ssh連線
- centos無法建立ssl連線CentOS
- milvus 異常——無法連線
- Windows 10 怎樣管理已連線過的無線網?Windows
- win10 itunes無法刪除舊版本怎麼辦_win10 itunes無法刪除舊版本如何解決Win10
- win10如何刪去多餘的本地連線_win10刪除多餘本地連線的方法Win10
- 電腦檔案被佔用無法刪除?Win10系統檔案被佔用無法刪除的解決方法Win10
- app直播原始碼,當前使用者截止當前時間在本月的連續簽到統計APP原始碼
- Windows無法配置此無線連線這個問題的解決辦法Windows
- Kubernetes 無法查詢到並且無法刪除pod例項的排查過程
- 也來談談無法刪除db link的問題
- for迴圈無法刪除陣列所有指定元素陣列
- [20180614]刪除bootstrap$記錄無法啟動2boot
- [20180612]刪除bootstrap$記錄無法啟動.txtboot
- PicGo無法刪除雲端圖片問題PicGo
- 織夢無法刪除欄目怎麼辦
- 無法連線遠端,Windows系統電腦無法遠端連線怎麼辦Windows
- win10 刪除使用者無法在內建賬戶怎麼解決Win10
- win10乙太網已連線無法上網 win10連線正常但是上不了網Win10