ORACLE-013:oracle中kill死锁进程

oracle中对于访问频率很高的包,存储过程或者函数,会引起死锁。对于用到了死锁的对象的脚本都会无法运行,造成卡死,或者报异常:打开的连接太多。

这时需要使用dba权限账户去kill掉死锁的对象。

使用

 alter system kill session 死锁对象的ID;

执行如下sql,查找出死锁的ID,并将alter语句拼接好:

select Distinct ‘alter system kill session ‘||chr(39)||b.sid||‘,‘||b.serial#||chr(39)||‘;‘As  kill对象sql语句,
b.username,b.logon_time
from v$locked_object a,v$session b
where a.session_id=b.sid
order by b.logon_time;

然后将拼接的语句拿出来执行即可。

时间: 2024-11-06 18:58:58

ORACLE-013:oracle中kill死锁进程的相关文章

Oracle数据表中的死锁情况解决方法

不知道干了啥,把数据表锁住了,没法update. 百度了各种方法,总结如下. 查看被锁住的表(两句都可以): select * from v$session t1, v$locked_object t2 where t1.sid=t2.SESSION_ID   select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object

sql server 查询和Kill死锁进程

查询死锁进程语句 select        request_session_id spid,       OBJECT_NAME(resource_associated_entity_id) tableName    from        sys.dm_tran_locks   where        resource_type='OBJECT' 杀死死锁进程语句 kill spid

sql server 查看表的死锁和Kill 死锁进程

查询出来 select        request_session_id spid,       OBJECT_NAME(resource_associated_entity_id) tableName    from        sys.dm_tran_locks   where        resource_type='OBJECT 杀死死锁进程 kill spid 另: exec master.dbo.sp_who_lock --查看当前死锁进程 exec master.dbo.p_

Linux中Kill掉进程的10种方法

常规篇: 首先,用ps查看进程,方法如下: 复制代码 代码如下: $ ps -ef--smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helpersmx 1824 1822 0 11:38 pts/0 00:00:02 bashsmx 1827 1 4 11:38 ? 00:26:28 /usr/lib/firefox-3.6.18/firefox-binsmx 1857

Oracle GoldenGate环境中主库和备库 网络突然中断后,主端的dp进程无法启动的问题

view report dpfull, 现象是 /gg/ggs/dirdat/aa000053 (no surch file or directory) 实际上,此文件在目的端存在的. 处理方法: 1. 目的端ps -ef | grep ggs ,找到server进程,假设server进程的pid是12345 2. 目的端 kill -9 12345 3. 目的端 stop mgr 4. 目的端 start mgr 5. 源端 start dp 6.dp状态ok,问题处理完毕. Oracle G

Oracle中Kill session的研究(转 出自eagle)

itpub link: http://www.itpub.net/235873.html 我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为: alter system kill session 'sid,serial#' ; 被kill掉的session,状态会被标记为killed,Oracle会在该用户下一次touch时清除该进程. 我们发现当一个session被kill掉以后,该session的paddr被修改,如果有多个session

Oracle中Kill session

我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为: alter system kill session 'sid,serial#' ; 被kill掉的session,状态会被标记为killed,Oracle会在该用户下一次touch时清除该进程. 我们发现当一个session被kill掉以后,该session的paddr被修改,如果有多个session被kill,那么多个session的paddr都被更改为相同的进程地址: SQL> sel

【Oracle】Oracle中的常用操作

一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b.关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动

Oracle系列——开发中奇葩问题你遇到几个(一)

前言:在使用oracle数据进行开发的时候有没有经常出现一些很奇怪.很纳闷.很无厘头的问题呢.下面是本人使用oracle一段时间遇到的问题小节,在此做个记录,方便以后再遇到类似的问题能快速解决.如果你是数据库大虾,此文可以略过:如果你是数据库小菜或者刚从sql server转到使用oracle开发,这些问题可能你曾经遇到或者即将遇到,不信?走着瞧! 1.oracle插入数据中文乱码的问题: 问题描述:在plsql中不管是编辑数据,还是使用insert语句插入,所有的中文都会变成乱码. 解决方法: