如何找到数据库中正在执行的语句并杀死它们

分类:编程技术 时间:2024-02-20 15:56 浏览:0 评论:0
0
小编给大家分享一下如何找到数据库中正在执行的语句并杀死它。相信大多数人对此还不是很了解,所以分享这篇文章供大家参考。希望您读完这篇文章后能有所收获。下面就让我们一起来了解一下吧!

--查询Oracle正在执行的sql语句以及执行该语句的用户

[sql] view plain< span data-mod="popu_168">复制

选择b.sid oracleID,

username 登录Oracle的用户名,

b.serial#,

spid操作系统ID,

paddr,

sql_text SQL被执行 ,

b.machine 计算机名称

FROM v$process a, v$session b, v$sqlarea c

WHERE a.addr = b. paddr

AND b.sql_hash_value = c.hash_value



--查看正在执行sql的发起方的下发程序

[sql] 查看普通复制

SELECT OSUSER计算机登录身份,

PROGRAM 启动的程序请求,

USERNAME 登录系统的用户名,

SCHEMANAME,

B.Cpu_Time 占用cpu的时间,

>

状态,

B.SQL_TEXT 执行了 sql

FROM V$SESSION A

LEFT JOIN V$SQL B ON A.SQL_ADDRESS = B 。地址

                                                            SQL_HASH_VALUE = B.HASH_VALUE

按 b.cpu_time DESC 排序



--找出当前的oracle的锁定对象

[sql] 查看普通复制

[sql] p>

SELECT l.session_id sid,

s.serial#,

l.locked_mode 锁定模式,

l.oracle_username 登录用户,

l.os_user_name 登录机器用户名,

s。 machine 机器名称,

s.terminal 终端al 用户名,

o. object_name 锁定对象的名称,

s.logon_time 登录数据库时间  

FROM v$locked_object l, all_objects o, v$session s

WHERE l .object_id = o.object_id

AND l.session_id = s .sid

按 sid, s.serial# 排序;

--杀死当前锁对象可以

alter system kill session 'sid,s.serial#';

以上就是《如何找到数据库中正在执行的语句并杀掉》一文的全部内容,感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。如果您想了解更多知识,请关注行业资讯频道!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何找到数据库中正在执行的语句并杀死它们

用户评论