ORACLE10G如何用alter system kill session 清除死锁进程

简介:

TITLEORACLE10G如何用alter system kill session 清除死锁进程

 

问题描述:用户反馈数据交换终止,查询发现大量的死锁信息

        

  

SID

SERIAL#

USERNAME

LOGON_TIME

1

1296

56221

sample

2010-6-20 11:25:09

……

 

 

解决步骤:

1、  用下面的语句组装生成清除死锁进程的脚本
--
杀锁死进程

select Distinct 'alter system kill session '||chr(39)||b.sid||','||b.serial#||chr(39)||';'As 组装语句在RAC执行时区分节点,b.username,b.logon_time

from v$locked_object a,v$session b

where a.session_id=b.sid

order by b.logon_time

    执行结果格式如下:

  

组装语句在RAC执行时区分节点

USERNAME

LOGON_TIME

1

alter system kill session '1296,56215';

sample

2010-8-20 11:20:39

……

 

2、以sysdba权限登录SQLPLUS 后执行上一步生成的脚本

[root@oracle2 ~]# su - oracle

[oradba@oracle2 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.4.0 - Production on 星期五 6 20 11:07:47 2010

 

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

 

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options

 

SQL> alter system kill session '989,2173';

alter system kill session '1001,26211';

alter system kill session '917,44267';

alter system kill session '929,38284';

……

 

SQL>

 

System altered.

 

SQL>

System altered.

 

SQL>

System altered.

 

别忘记最后敲一个回车,否则最后一条语句可能没有执行。



本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/380532,如需转载请自行联系原作者

相关文章
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之使用oracle-cdc的,遇到错误:ORA-01292: no log file has been specified for the current LogMiner session,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
jenkins Java Shell
解决jenkins结束后kill掉衍生进程
解决jenkins结束后kill掉衍生进程
1023 4
|
Oracle 关系型数据库 MySQL
Mysql和Oracle数据库死锁查看以及解决
【8月更文挑战第11天】本文介绍了解决MySQL与Oracle数据库死锁的方法。MySQL可通过`SHOW ENGINE INNODB STATUS`查看死锁详情,并自动回滚一个事务解除死锁;也可手动KILL事务。Oracle则通过查询V$LOCK与V$SESSION视图定位死锁,并用`ALTER SYSTEM KILL SESSION`命令终止相关会话。预防措施包括遵循ACID原则、优化索引及拆分大型事务。
1369 3
|
Oracle 关系型数据库 数据库
关系型数据库Oracle死锁
【7月更文挑战第16天】
471 3
|
Linux 数据处理
深入了解Linux命令kill:终止进程的艺术
**Linux的`kill`命令详解:高效管理进程的工具** `kill`命令在Linux中用于向进程发送信号,如SIGTERM(默认)和SIGKILL,以终止或影响进程行为。它通过进程ID(PID)操作,支持多种信号和选项,如`-l`列出信号,`-9`强制杀进程。例如,`kill 1234`发送TERM信号,`kill -9 1234`发送KILL信号。使用时注意,SIGKILL是不可忽视的,可能导致数据丢失。配合`pgrep`和`pkill`能更灵活管理进程。了解进程依赖和使用其他命令如`ps`和`top`可优化系统资源管理。
|
Web App开发
kill 终止进程
kill 终止进程。
323 7
|
消息中间件 算法 Java
(十四)深入并发之线程、进程、纤程、协程、管程与死锁、活锁、锁饥饿详解
本文深入探讨了并发编程的关键概念和技术挑战。首先介绍了进程、线程、纤程、协程、管程等概念,强调了这些概念是如何随多核时代的到来而演变的,以满足高性能计算的需求。随后,文章详细解释了死锁、活锁与锁饥饿等问题,通过生动的例子帮助理解这些现象,并提供了预防和解决这些问题的方法。最后,通过一个具体的死锁示例代码展示了如何在实践中遇到并发问题,并提供了几种常用的工具和技术来诊断和解决这些问题。本文旨在为并发编程的实践者提供一个全面的理解框架,帮助他们在开发过程中更好地处理并发问题。
561 0
|
NoSQL Linux Redis
c++开发redis module问题之避免在fork后子进程中发生死锁,如何解决
c++开发redis module问题之避免在fork后子进程中发生死锁,如何解决
|
Shell Linux
Linux脚本Shell脚本来实现一次性kill多个端口的进程
Linux脚本Shell脚本来实现一次性kill多个端口的进程
377 0
|
Linux 数据库 Perl
【YashanDB 知识库】如何避免 yasdb 进程被 Linux OOM Killer 杀掉
本文来自YashanDB官网,探讨Linux系统中OOM Killer对数据库服务器的影响及解决方法。当内存接近耗尽时,OOM Killer会杀死占用最多内存的进程,这可能导致数据库主进程被误杀。为避免此问题,可采取两种方法:一是在OS层面关闭OOM Killer,通过修改`/etc/sysctl.conf`文件并重启生效;二是豁免数据库进程,由数据库实例用户借助`sudo`权限调整`oom_score_adj`值。这些措施有助于保护数据库进程免受系统内存管理机制的影响。

推荐镜像

更多