kill session-KILL_SESSION()
生活随笔
收集整理的這篇文章主要介紹了
kill session-KILL_SESSION()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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。
如"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 YES2、顯示當前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()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: object-c中的bool
- 下一篇: AUP2敏捷统一过程之一:序言及降低过程