网站开发用什么系统,企业网站建设背景,安卓优化大师历史版本,网站建设的市场有多大一 问题描述
想给某个普通用户授予杀掉自己会话的权限
二 解决办法
2.1 用sys用户创建杀会话的存储过程
create or replace procedure scott_p_kill_session( v_sid number, v_serial number )asv_varchar2 varchar2(100);beginif v_sid is not null and v_serial is not n…一 问题描述
想给某个普通用户授予杀掉自己会话的权限
二 解决办法
2.1 用sys用户创建杀会话的存储过程
create or replace procedure scott_p_kill_session( v_sid number, v_serial number )asv_varchar2 varchar2(100);beginif v_sid is not null and v_serial is not null thenfor c in (select /* rule */s.username, s.inst_id, s.sid, s.serial#from gv$session swheres.sid v_sidand s.serial# v_serialand s.usernameSCOTT) loopdbms_output.put_line(alter system kill session || c.sid || , ||c.serial# || , || c.inst_id || immediate);execute immediate alter system kill session || c.sid || , ||c.serial# || , || c.inst_id || immediate; end loop;elseraise_application_error(-30000,Wrong number or types of arguments in call to kill_block_session.);end if; end;
2.2 给该普通用户授权调用刚创建的存储过程
grant execute on scott_p_kill_session to scott;
2.3 杀会话示例
--用普通用户登录该会话所在数据库节点杀会话
--语法
exec sys.scott_p_kill_session(会话号,序列号);
--示例
exec sys.scott_p_kill_session(46,51); --本篇文章参考自
oracle-权限-授予普通用户kill session权限-阿里云开发者社区
并做了些许改动。