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