Oracle如何让普通用户可以杀掉自己用户的会话

0    54    1

👉 本文共约551个字,系统预计阅读时间或需3分钟。

本文简介

普通用户想要杀掉会话必须要有ALTER SYSTEM的权限,但是该权限过大,用户可能使用该权限错杀其它用户的会话,所以,有没有其它办法可以实现该功能呢?该类问题也是DBA中常遇到的问题,下边作者给出一种解决方案。

首先,可以创建一个查询自己会话信息的视图,将该视图创建公共同义词,然后创建一个存储过程,该存储过程实现杀会话的需要,最后将该存储过程赋权给PUBLIC即可解决这个问题。

【这也是小麦苗即将出版的书中的一个小小节,提前分享给大家,o(∩_∩)o ,希望大家到时候多多捧场。】

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

代码分享

代码实现过程如下:

使用方法:

代码演示

使用SYS用户杀PMON进程的会话

由于系统进程的用户名为空,所以避免了误杀系统进程。

使用SYS用户杀普通用户的会话

由于79会话属于LHR用户,所以避免了误杀其它用户的会话,当使用LHR用户的时候可以正常杀会话。

使用LHR用户杀其它用户的会话

普通用户LHR也不能杀掉其它用户LHRTEST的会话。

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

20 − 1 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部