Oracle授权普通用户 kill session权限
生活随笔
收集整理的這篇文章主要介紹了
Oracle授权普通用户 kill session权限
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
--Oracle中開發環境有時會有鎖產生,開發人員需要kill session權限
--但Oracle中對應系統權限是alter system, 權限太大,不合適。
--故可以通過創建存儲過程給開發人員調用使用
--使用有dba權限用戶創建,或者使用sys用戶創建,通過加入條件判斷,限制用戶只能處理自己的進程
CREATE OR REPLACE PROCEDURE p_kill_session ( v_sid number, v_serial number) ASv_sql VARCHAR2(500);v_user varchar2(20);v_logon varchar2(50); BEGINSELECT usernameINTO v_userFROM v$sessionWHERE SID = v_sid;v_logon := sys_context('userenv', 'SESSION_USER');if v_user = v_logon thenv_sql := 'ALTER SYSTEM KILL SESSION '''|| v_sid || ',' || v_serial || '''';EXECUTE IMMEDIATE v_sql;--dbms_output.put_line(v_sql);elseraise_application_error(-20000, 'This is not your session!');end if; END; /--如果不是sys用戶創建的,需要用sys用戶給DBA用戶授權
grant select on v_$session to <dbauser>; grant alter system to <dbauser>;--授予普通用戶執行權限
grant execute on p_kill_session to <username>;?
總結
以上是生活随笔為你收集整理的Oracle授权普通用户 kill session权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哥写了一件艺术品
- 下一篇: 如何设计一个超级牛逼的 Feed 流系统