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,如需转载请自行联系原作者

相关文章
|
jenkins Java Shell
解决jenkins结束后kill掉衍生进程
解决jenkins结束后kill掉衍生进程
1119 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原则、优化索引及拆分大型事务。
1553 3
|
Oracle 关系型数据库 数据库
关系型数据库Oracle死锁
【7月更文挑战第16天】
577 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 终止进程。
414 7
|
消息中间件 Linux
【Linux】进程间通信——system V(共享内存 | 消息队列 | 信号量)(下)
【Linux】进程间通信——system V(共享内存 | 消息队列 | 信号量)(下)
248 0
|
消息中间件 存储 Linux
【Linux】进程间通信——system V(共享内存 | 消息队列 | 信号量)(上)
【Linux】进程间通信——system V(共享内存 | 消息队列 | 信号量)(上)
375 0
|
消息中间件 存储 Unix
【探索Linux】P.15(进程间通信 —— system V共享内存)
【探索Linux】P.15(进程间通信 —— system V共享内存)
300 0
|
Shell Linux
Linux脚本Shell脚本来实现一次性kill多个端口的进程
Linux脚本Shell脚本来实现一次性kill多个端口的进程
422 0
|
Linux 数据库 Perl
【YashanDB 知识库】如何避免 yasdb 进程被 Linux OOM Killer 杀掉
本文来自YashanDB官网,探讨Linux系统中OOM Killer对数据库服务器的影响及解决方法。当内存接近耗尽时,OOM Killer会杀死占用最多内存的进程,这可能导致数据库主进程被误杀。为避免此问题,可采取两种方法:一是在OS层面关闭OOM Killer,通过修改`/etc/sysctl.conf`文件并重启生效;二是豁免数据库进程,由数据库实例用户借助`sudo`权限调整`oom_score_adj`值。这些措施有助于保护数据库进程免受系统内存管理机制的影响。

推荐镜像

更多