oracle 刪除用戶/用戶會話


1.oracle數據庫中刪除用戶有兩種命令,一種是 drop user xxx;另外一個種是drop user xxx cascade;

2.官方的說明如下:

Dropping a Database User: Example If user Sidney's schema contains no objects, then you can drop sidney by issuing the statement:

DROP USER sidney; --sidney為用戶名,用sys登錄執行該語句
If Sidney's schema contains objects, then you must use the CASCADE clause to drop sidney and the objects:

DROP USER sidney CASCADE; --sidney為用戶名,用sys登錄執行該語句

 

就是說drop user xxx必須是這個用戶下面沒有任何對象,這樣才可以使用這個命令,否則就會報錯;如果用戶下面有對象,就得用drop user xxx cascade來刪除這個用戶以及這個用戶下的所有對象了。

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1、 以一個session做以示例,

a、 找到你要殺掉的那個session, 並記下paddr

select sid, username, paddr, status from v$session

where username = '用戶名' and

status = 'INACTIVE';


b、 找到這個session所對應的spid

select * from v$process where addr = '上面查尋的paddr';


c、 殺掉spid所標識的那個進程

如果你的Oracle是在Unix平台上的,可以用kill。

$kill spid

如果你的Oracle是在windown平台上的,有一些的不同,因為windown是以thead來代替process的,需要用到sid和spid兩個值,所用的命令也由kill替換為Orakill,格式為rakill sid spid

C:\>orakill sid  spid


d、 再查一下v$session,看會話在不在了。

SQL> select sid,serial#,username,program from v$session;

SID    SERIAL# USERNAME                       PROGRAM

---------- ---------- ------------------------------ ----------------------------------------------------------------

1          1                                ORACLE.EXE

2          1                                ORACLE.EXE

3          1                                ORACLE.EXE

4          1                                ORACLE.EXE

5          1                                ORACLE.EXE

6          1                                ORACLE.EXE

7        325

8        311 ZLHIS

9        325

10        325

11        325

12        325

15         31 ZLHIS

16         29

17          3 SYS                            sqlplus.exe

20         98 SYS                            PLSQLDev.exe

23        284 ZLHIS

27         72 SYS                            PLSQLDev.exe

28         49

19 rows selected


SQL> alter system kill session '8,311';

alter system kill session '8,311'

ORA-00031: 標記要刪去的會話


這個8,311確實是沒有了,可能又產生了一個新的會話,見下面的記錄.

SQL> select sid,serial#,username,program from v$session;

SID    SERIAL# USERNAME                       PROGRAM

---------- ---------- ------------------------------ ----------------------------------------------------------------

1          1                                ORACLE.EXE

2          1                                ORACLE.EXE

3          1                                ORACLE.EXE

4          1                                ORACLE.EXE

5          1                                ORACLE.EXE

6          1                                ORACLE.EXE

7        337

8        315 ZLHIS

9        337

10        337

11        337

12        337

15         31 ZLHIS

16         41

17          3 SYS                            sqlplus.exe

20         98 SYS                            PLSQLDev.exe

23        284 ZLHIS

27         72 SYS                            PLSQLDev.exe

28         61

19 rows selected
-----------------------------------
©著作權歸作者所有:來自51CTO博客作者Oracle小混子的原創作品,如需轉載,請注明出處,否則將追究法律責任
Oracle 刪除用戶會話_Oracle如何刪除用戶會話?
https://blog.51cto.com/19880614/1192070

 

 


————————————————
版權聲明:本文為CSDN博主「萬蕊清」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/gateway6143/article/details/43151315


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM