2019独角兽企业重金招聘Python工程师标准>>>

一. 开发背景#

做kill session操作时需要考虑session 占用的回滚段大小.

本程序所有查询结果均排除username为null的会话。

二. 流程图#

三. 参数说明#

1. 函数头#

 function kill_session(kill            varchar2 default 'false',                         filter_name     varchar2 default null,                         filter_word     varchar2 default null,                         used_undo_below number default 250,                         session_id      number default 0,                         serial          number default 0)     return t_session_info_tabpipelined;

2. 参数#

kill filter_name filter_word used_undo_below session_id serial
该参数决定是否执行kill session的操作,对哪些会话执行kill操作由其他参数的过滤条件决定。
该值为'true'时,执行kill操作.
指定按哪个字段做过滤,接受下面4个值之一,"EVENT","DBUSER", "OSUSER","HASHVALUE"
"EVENT":按session的等待事件做过滤
"DBUSER":按session的username做过滤,当为该值时,filter_word参数会忽略大小写
"OSUSER":按session的osuser做过滤
"HASHVALUE":按session当前执行的sql hash value做过滤,为了保持向9i数据库兼容,不支持SQL ID做过滤条件

  • 当为参数为空,并且session_id参数为0时,不指定具体过滤条件,则只显示当前非空闲等待的session。
过滤条件,支持Oracle like的模糊匹配。
如"filter_name"为'EVENT'时,本参数值为'%buffer%',可以列出所有等待事件中含buffer的等待事件。
当参数"kill"的值为'true'时,本参数才有效,kill session的动作只会在undo使用量小于本参数指定值的session实施,单位是M,默认值是250M。
以session的sid为过滤条件,指定本参数后,filter*参数将失效。
指定session的sid时,该sid对应的serial#

四 举例 #

1、以dbuser做过滤条件,kill session。#

SQL> select * from table(dba_session.kill_session('true', 'dbuser','dbmgr'));  SID     SERIAL  USED_UNDO USERNAME   STATUS   SQL_HASH_VALUE OSUSER                         PROGRAM                                          EVENT                     KILLED ---- ---------- ---------- ---------- -------- -------------- ------------------------------ ------------------------------------------------ ------------------------- ------   93         15          0 DBMGR      KILLED                0 lianghaian001                  plsqldev.exe                                     SQL*Net message from clie YESnt                        97         14          0 DBMGR      KILLED                0 lianghaian001                  plsqldev.exe                                     SQL*Net message from clie YES

2、显示当前event为'SQL*Net'开头的会话信息。#

SQL> select * from table(dba_session.kill_session(null, 'event','SQL*Net%'));  SID     SERIAL  USED_UNDO USERNAME   STATUS   SQL_HASH_VALUE OSUSER                         PROGRAM                                          EVENT                     KILLED ---- ---------- ---------- ---------- -------- -------------- ------------------------------ ------------------------------------------------ ------------------------- ------   14         28          0 COW_SUNXIN INACTIVE              0 sunxin005                      plsqldev.exe                                     SQL*Net message from clie NO005                                                                                                                nt                        25        362          0 LIANGHAIAN ACTIVE       2749853118 lianghaian001                  plsqldev.exe                                     SQL*Net message from clie NO001                                                                                                                nt                        26        273          0 COW_WUXIAO INACTIVE              0 wuxiaoli133                    plsqldev.exe                                     SQL*Net message from clie NOLI133                                                                                                              nt                        

转载于:https://my.oschina.net/u/729507/blog/88630

kill session-KILL_SESSION()相关推荐

  1. oracle查询正在执行的语句和kill session

    查询正在执行的SQL select SID,SERIAL#, OSUSER, PROGRAM, USERNAME, SCHEMANAME, B.Cpu_Time, STATUS, B.SQL_TEXT ...

  2. orakill和alter system kill session的区别

    原文出处:http://blog.csdn.net/ouzhiyi_linux_oracle/archive/2009/04/16/4081739.aspx 一个用户进程偶尔会挂起或占用过多资源而拒绝 ...

  3. Oracle 彻底 kill session

    为什么80%的码农都做不了架构师?>>>    --*************************** -- Oracle 彻底 kill session --********* ...

  4. linux ora-00031,kill session遇到ORA-00031錯誤

    今天在處理一個表被鎖死的問題時,遇到ORA-00031: 這個階段作業將被標示為要終結的階段作業 具體操作步驟如下: 1. 先確認鎖定資源的session信息 select OS_USER_NAME, ...

  5. oracle锁和kill session

    查看被锁定的对象 SELECT A.OWNER, A.OBJECT_NAME, B.XIDUSN, B.XIDSLOT, B.XIDSQN, B.SESSION_ID, B.ORACLE_USERNA ...

  6. 有关Kill Session问题的讨论(旧文初发)

    今天在群里和MECKEY讨论KILL SESSIONS的问题,结果群里出先了两派,一是我和大家都同意先试着KILL SESSION然后再KILL SPID,二是MECKEY坚持说应该先KILL SPI ...

  7. Oracle授权普通用户 kill session权限

    --Oracle中开发环境有时会有锁产生,开发人员需要kill session权限 --但Oracle中对应系统权限是alter system, 权限太大,不合适. --故可以通过创建存储过程给开发人 ...

  8. Oracle中Kill session的研究 for oracle -- 转

    我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为: alter system kill session 'sid,serial#' ; 被kil ...

  9. ora-00031:session marked for kill处理oracle中杀不掉的锁

    转: 一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE ...

  10. 【转】ora-00031:session marked for kill处理oracle中杀不掉的锁

    一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不 ...

最新文章

  1. Fabricjs在Canvas上使用路径Path绘制不规则图形
  2. 报文交换与分组交换例题
  3. Android开发三:常用控件1--TextView、EditText、Button
  4. 《JavaScript面向对象编程指南》—第128页错误指正
  5. 规范白盒生态 S³IP助力未来可预期服务网络
  6. php按照二维数组某个字段排序,PHP 二维数组根据某个字段排序
  7. Go程序:利用命令行参数做四则运算
  8. rss 订阅实现-iOS版
  9. [转帖]九句英语闯天下
  10. 字符串匹配之PabinKarp(模式匹配)
  11. python exec函数和eval函数_Python exec()和eval()的使用注意事项
  12. java从JDK里提取全球数据,包含国家(名称、二字代码、三字代码)、币种(名称和代码)、和语言种类的数据
  13. wps文件上的logo怎么去掉_PPT上LOGO怎么去掉怎么去除母版logo
  14. 程序猿给娃取名的正确姿势
  15. Pytorch节省显存、加速训练的小技巧
  16. Java 基础接口——fly
  17. Linux系统的简易命令(三)
  18. 我可以处理Flutter集成百度地图问题解决
  19. 快对作业超级计算机,快对作业2020
  20. PHPStorm 显示自动换行

热门文章

  1. Java多线程使用场景
  2. 反序列化存入数据库里面的session数据
  3. 一种在MVC3框架里面设置模板页的方法,不使用_ViewStart
  4. 淘宝网消费者年维权成功金额达1.69亿
  5. [翻译]pytest测试框架(一)
  6. ASA基本配置实验报告
  7. 2016 年 Linux 领域的十大新闻,你有关注吗?
  8. FineUI控件集合
  9. I00040 计算1000以内的勾股数
  10. Android—TableLayout自定义表格