数据库中如何查找正在执行语句及kill掉
小编给大家分享一下数据库中如何查找正在执行语句及kill掉,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
--查询Oracle正在执行的sql语句及执行该语句的用户
[sql]view plaincopy
SELECTb.sidoracleID,
b.username登录Oracle用户名,
b.serial#,
spid操作系统ID,
paddr,
sql_text正在执行的SQL,
b.machine计算机名
FROMv$processa,v$sessionb,v$sqlareac
WHEREa.addr=b.paddr
ANDb.sql_hash_value=c.hash_value
--查看正在执行sql的发起者的发放程序
[sql]view plaincopy
SELECTOSUSER电脑登录身份,
PROGRAM发起请求的程序,
USERNAME登录系统的用户名,
SCHEMANAME,
B.Cpu_Time花费cpu的时间,
STATUS,
B.SQL_TEXT执行的sql
FROMV$SESSIONA
LEFTJOINV$SQLBONA.SQL_ADDRESS=B.ADDRESS
ANDA.SQL_HASH_VALUE=B.HASH_VALUE
ORDERBYb.cpu_timeDESC
--查出oracle当前的被锁对象
[sql]view plaincopy
SELECTl.session_idsid,
s.serial#,
l.locked_mode锁模式,
l.oracle_username登录用户,
l.os_user_name登录机器用户名,
s.machine机器名,
s.terminal终端用户名,
o.object_name被锁对象名,
s.logon_time登录数据库时间
FROMv$locked_objectl,all_objectso,v$sessions
WHEREl.object_id=o.object_id
ANDl.session_id=s.sid
ORDERBYsid,s.serial#;
--kill掉当前的锁对象可以为
alter system kill session 'sid, s.serial#‘;
以上是“数据库中如何查找正在执行语句及kill掉”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。