查询死锁,把killed进程,进一步从操作系统中kill

2023-12-12 22:33

本文主要是介绍查询死锁,把killed进程,进一步从操作系统中kill,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.下面的语句用来查询哪些对象被锁:
select object_name,machine,s.sid,s.serial# 
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id

2.下面的语句用来杀死一个进程:alter system kill session '966,13432'; (其中966,13432分别是上面查询出的sid,serial#)

【注】以上两步,可以通过Oracle的管理控制台来执行。

3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:

select spid, osuser, s.program 
from v$session s,v$process p

where s.paddr=p.addr and s.sid=966 (966是上面的sid)




抓取执行计划

--方案1
--查看sql执行计划
SQL> col plan_table_output format a200
SQL> 
SQL> EXPLAIN PLAN FOR  SELECT * FROM dual;


SQL> select * from table(dbms_xplan.display);






--方案2
--以下是查看正在执行的sql
--查看刚刚执行的sid
select sid from v$mystat where rownum<2;
--根据sid查询sql_id
SELECT sql_id FROM v$session WHERE SID=761
--跟踪sql阻塞
SELECT username,event,p1,p2,p3 ,sql_id FROM v$session WHERE  sql_id='c75qmuhpdxmhb';


--利用游标,抓取执行计划
SELECT * FROM table(dbms_xplan.display_cursor('c75qmuhpdxmhb',0));




SELECT username,event,p1,p2,p3,B.SQL_TEXT,A.SQL_ID FROM v$session a, v$sql b WHERE a.sql_id=b.sql_id
AND a.username='UNICOMCS_V3'






SELECT username,event,p1,p2,p3,B.SQL_TEXT,A.SQL_ID FROM v$session a, v$sql b WHERE a.sql_id=b.sql_id
AND a.username='UNICOMCS_V3'






查看等待
select (sysdate-a.logon_time)*24*60 minutes, 
a.username, 
a.BLOCKING_INSTANCE, 
a.BLOCKING_SESSION, 
a.program, 
a.machine, 
a.osuser, 
a.status, 
a.sid, 
a.serial#, 
a.event, 
a.p1, 
a.p2, 
a.p3, 
a.sql_id, 
a.sql_child_number, 
b.sql_text 
from v$session a, v$sql b 
where 
a.sql_address = b.address 
and a.sql_hash_value = b.hash_value 
and a.sql_child_number=b.child_number 
and a.username like '%MOBILE_V1%' 
order by 1 desc; 




SELECT program,event ,username FROM v$session WHERE SID=766
 

这篇关于查询死锁,把killed进程,进一步从操作系统中kill的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/486180

相关文章

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Linux进程终止的N种方式详解

《Linux进程终止的N种方式详解》进程终止是操作系统中,进程的一个重要阶段,他标志着进程生命周期的结束,下面小编为大家整理了一些常见的Linux进程终止方式,大家可以根据需求选择... 目录前言一、进程终止的概念二、进程终止的场景三、进程终止的实现3.1 程序退出码3.2 运行完毕结果正常3.3 运行完毕