`
yhef
  • 浏览: 69697 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

自定义过程ORACLE KILL SESSION

阅读更多
我觉得这个可以是一个小工具,所有我授权给了所有人(不过这也很危险)。

1:用SYS建立此PROC,
源码:
create or replace procedure kill_session(p_username varchar2,
                                         p_sid      number,
                                         p_serial   number) is
  --Session exists flg
  v_exist number := 0;
begin

  --Query the session by identifier
  select count(*)
    into v_exist
    from v$session s
   where s.username = upper(p_username)
     and s.sid = p_sid
     and s.serial# = p_serial
     and rownum =1;

  --Ensure the session is already exists
  if v_exist > 0 then
    --Try to kill it
    execute immediate 'alter system kill session ''' || p_sid || ',' ||
                      p_serial || '''';
  else
    --Echo error msg
    dbms_output.put_line('No such session,username=' || p_username ||
                         ',sid=' || p_sid || ',serial#=' || p_serial);
  end if;
end kill_session;



2:授权给所有
GRANT EXECUTE ON KILL_SESSION TO PUBLIC;

3:用SCOOT登录后执行
  begin
    SYS.kill_session('SCOTT', 155, 28);
  end;


分享到:
评论

相关推荐

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

    相反,这个存储过程会调用一个没有直接kill session功能的程序包,或者通过DBMS_LOCK包来间接实现杀会话的目的。这样可以避免普通用户直接访问到具有潜在危险的系统权限。 最后,将创建的存储过程赋予PUBLIC,即...

    oracle锁表查询oracle锁表查询oracle锁表查询

    如果需要解锁某个被锁定的会话,可以使用`ALTER SYSTEM KILL SESSION`命令来强制终止会话。 ```sql ALTER SYSTEM KILL SESSION '535, #' IMMEDIATE; ``` 此处的`535`为会话SID,`#`为会话的串行号。执行该命令后,...

    oracle RAC查看blocking的脚本

    2. **oblkill**: 这可能是自定义的Oracle RAC阻塞检查或解决脚本。"OBL"可能代表"Oracle Blocking"的缩写。该脚本可能用于找出导致阻塞的会话并执行相应的操作,例如杀掉(kill)阻塞其他会话的SQL语句。 3. **...

    Oracle数据库介绍-2008-12-12及介绍Oracle常见的问题

    - 使用`ALTER SYSTEM KILL SESSION`命令来手动终止死锁的会话。 - 定期执行数据库健康检查,预防死锁的发生。 4. **如何避免Oracle数据库性能下降**: - 定期分析SQL执行计划,确保使用最高效的查询路径。 - ...

    oracle 常用指令

    - `PROCEDURE` 和 `FUNCTION`:用于创建自定义过程和函数。 - `DECLARE`:声明变量和游标。 - `EXCEPTION`:处理运行时错误。 5. **数据库对象管理**: - `GRANT` 和 `REVOKE`:分配和撤销用户权限。 - `...

    Oracle锁处理、解锁方法

    - Oracle的`DBMS_LOCK`包提供了一些实用程序,如`REQUEST`和`RELEASE`,用于申请和释放自定义锁。 5. **优化锁策略** - 优化事务设计,减少锁定时间,可以有效避免锁冲突。例如,尽量保持事务短暂,避免长时间...

    duid配置文档

    - **ExceptionSorter:**有效处理不可恢复的异常,如Oracle的session被kill,防止大量错误累积。 - **PSCache内存优化:**针对支持游标的数据库(Oracle、SQLServer等),优化PreparedStatement缓存机制,大幅提升...

    Java从入门到精通整理笔记

    - PL/SQL(Procedural Language for SQL)是Oracle数据库中的过程化SQL语言。 - 存储过程、触发器等的编写。 #### 三、Web开发 - **Web基础知识**: - HTTP协议原理。 - 请求与响应模型。 - Cookie与Session...

    linux vnc搭建

    3. **配置开机自启**:为了让GNOME在VNC Server启动时自动加载,我们需要创建一个自定义的systemd服务文件。 ```bash sudo nano /etc/systemd/system/vnc-gnome.service ``` 在文件中输入以下内容: ```ini ...

    java笔试题

    2. **自定义序列化**:如果需要更精细地控制序列化的过程,可以实现`writeObject()`和`readObject()`方法来自定义序列化和反序列化的行为。 ### XML解析技术与应用 XML(Extensible Markup Language,可扩展标记...

Global site tag (gtag.js) - Google Analytics