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

posted @   AKX  阅读(4002)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示