oracle死锁解决经常用法(屡试不爽)

--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
and l.session_id=s.sid;

--2.用以下语句kill掉死锁的进程

alter system kill session ‘24,111‘; --(当中24,111各自是上面查询出的sid,serial#)

--3.假设上述kill不掉,则查询os级别线程

select spid, osuser, s.program

from v$session s,v$process p

where s.paddr=p.addr and s.sid=24        --24是上面的sid

--4.在os级别删除线程

--1)在unix上,用root身份运行命令:

#kill -9 12345(即第3步查询出的spid)

--2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可运行命令,语法为:

orakill sid thread

--当中:

--sid:表示要杀死的进程属于的实例名

--thread:是要杀掉的线程号,即第3步查询出的spid。

时间: 2024-09-30 20:04:44

oracle死锁解决经常用法(屡试不爽)的相关文章

oracle死锁解决常用方法(屡试不爽)

--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 and l.session_id=s.sid; --2.用下面语句kill掉死锁的进程 alter system kill session '24,111'; --(其中24,111分别是上面查询出的sid,serial#)

oracle死锁解决方法

select SESS.sid, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME,      AO.OBJECT_NAME, LO.LOCKED_MODEfrom V$LOCKED_OBJECT LO, DBA_OBJECTs AO, V$SESSION SESSwhere AO.OBJECT_ID = LO.OBJECT_IDand lo.session_id = sess.sid; alter system kill session '13

Oracle 表死锁 解决

问题:更新的Update语句一直在更新 卡在执行update语句的地方. 清除的方法: Oracle表死锁解除 我是在plsql中处理 1.先查询 select * from v$locked_object v, dba_objects o where v.object_id = o.object_id 2.记录死锁表的session_id 3.Tools →Sessions 找到session_id对应Sessions窗口里的Sid(可以排下序再找比较快),在Status 列 右键 Kill.

死锁及oracle死锁--转载

今天看群里在讨论数据库死锁的问题,也一起研究了下,查了些资料在这里总结下. 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程. 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁. 关于数据库死锁的检查方法 一.数据库死锁的现象 程序在执行的过程中,点击确定

Oracle死锁

1.什么是死锁 在程序运行过程中,只有一个进程在运行,其他进程都在等待状态,并且点击进程的确定和保存按钮,程序无反应,但是也不报错,之中现象称作死锁. 2.Oracle死锁原理 操作Oracle数据库一个sql语句在执行对某个表增删改查操作时,一直处于执行状态,且没有结果返回,其他对该表操作的语句一直处于等待状态,也没有报错信息 3.死锁产生原因 A.存在竞争资源.系统存在共享资源不足以满足进程的需要时,就会引起进程之间竞争资源产生死锁现象.生活例子---很多人拥挤在地铁门口等待上车,地铁门一开

Oracle中Cursor的用法

关键字 ?概念 ?类型 ?异常处理 一 概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁 盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率. 二  类型   Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态Cursor). 1. 隐式Cursor: 1).对于Selec

oracle管道函数的用法

oracle管道函数是一类特殊的函数,oracle管道函数返回值类型必须为集合,下面将介绍oracle管道函数的语法. 在普通的函数中,使用dbms_output输出的信息,需要在服务器执行完整个函数后一次性的返回给客户端.如果需要在客户端实时的输出函数执行过程中的一些信息,在oracle9i以后可以使用管道函数(pipeline function). 关键字PIPELINED表明这是一个oracle管道函数,oracle管道函数的返回值类型必须为集合,在函数中,PIPE ROW语句被用来返回该

教您如何检查oracle死锁,决解死锁

oracle死锁问题一直困扰着我们,下面就教您一个oracle死锁的检查方法,如果您之前遇到过oracle死锁方面的问题,不妨一看…… oracle死锁问题一直困扰着我们,下面就教您一个oracle死锁的检查方法,如果您之前遇到过oracle死锁方面的问题,不妨一看. 一.数据库死锁的现象 程序在执行的过程中,点击确定或保存按钮,程序没有响应,也没有出现报错. 二.oracle死锁的原理 当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提交,另一条对于这一列数据做更新操作的语句

SqlServer定时备份数据库和定时杀死数据库死锁解决

PS:Sqlserver 2008 R2,windows 8 64位 1.备份数据库 因为要备份,我们就要用到Sqlserver的代理,默认数据库的代理是不开启的.需要我们手动开启的. 执行备份数据库脚本,现在将脚本公布,其实将这一段代码中需要保存的文件路径和数据库名称替换一下就可以实现备份了.但是还没有达到定时备份的目的 ? 1 2 3 4 5 6 7 8 9 10 11 --自动备份并保存最近5天的SQL数据库作业脚本 宋彪 20130310 DECLARE @filename VARCHA