如何找到数据库中正在执行的语句并杀死它们
--查询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#';
以上就是《如何找到数据库中正在执行的语句并杀掉》一文的全部内容,感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。如果您想了解更多知识,请关注行业资讯频道!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何找到数据库中正在执行的语句并杀死它们