`
zhuguo_guo
  • 浏览: 14135 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle 数据表死锁解决方法

 
阅读更多
查询死锁信息的语句:
 select a.owner,
       a.object_name,
       b.xidusn,
       b.xidslot,
       b.xidsqn,
       b.session_id,
       b.oracle_username,
       b.os_user_name,
       b.process,
       b.locked_mode,
       c.machine,
       c.status,
       c.server,
       c.sid,
       c.serial#,
       c.program
  from all_objects a, v$locked_object b, sys.gv_$session c
 where (a.object_id = b.object_id)
   and (b.process = c.process)
 order by 1, 2


---------------------------------------------

第一步:查看是否有死锁存在,查出有数据则代表有死锁:

select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name  from v$process p,v$session a,v$locked_object b,all_objects   c   
where  p.addr=a.paddr   
and    a.process=b.process   
and    c.object_id=b.object_id 


第二步:查出死锁session的精确信息【sid 为前面语句的session_id】

SELECT sid, serial#, username, osuser FROM v$session where sid='第一步查询出来的session_id';


第三步:删除死锁【第一个参数为sid,第二个为serial#】

alter system kill session 'sid,serial#'; 


如果还不能解决,
select pro.spid from v$session ses,v$process pro where ses.sid=XX and ses.paddr=pro.addr;


其中sid用死锁的sid替换。

1.exit    
2.ps -ef|grep spid 


其中spid是这个进程的进程号,kill掉这个Oracle进程。
分享到:
评论

相关推荐

    Oracle对于死锁的处理方法

    Oracle数据库出现死锁的时候可以按照以下处理步骤加以解决: 第一步:尝试在sqlplus中通过sql命令进行删除,如果能够删除成功,则万事大吉!但通常情况下,出现死锁时,想通过命令行或者通过Oracle的管理工具删除有...

    并发访问ORACLE数据库的数据死锁分析和解决措施.pdf

    并发访问ORACLE数据库的数据死锁分析和解决措施.pdf

    解决ORACLE死锁问题

    一、数据库死锁的现象 ... 二、死锁的原理 当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提 ...三、死锁的定位方法 通过检查数据库表,能够检查出是哪一条语句被死锁,产生死锁的机器是哪一台。

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

    主要介绍了Oracle数据表中的死锁情况解决方法,包括如何避免死锁的建议,需要的朋友可以参考下

    简单说明Oracle数据库中对死锁的查询及解决方法

    死锁的定位方法 通过检查数据库表,能够检查出是哪一条语句被死锁,产生死锁的机器是哪一台。   1)用dba用户执行以下语句 select username,lockwait,status,machine,program from v$session where sid in ...

    Oracle外键不加索引引起死锁示例

    主要介绍了Oracle外键不加索引引起死锁的情况及解决,需要的朋友可以参考下

    Oracle kill 表锁正确的 出现表锁后数据不会被查询到这个表这条数据 要先解决掉表锁死锁的情况.docx

    oracle中去除锁表命令

    Oracle杀进程.txt

    Oracle数据库由于设计或DEBUG也会造成数据表死锁,此时要找出死锁的表,并杀死,解决运维上的问题。

    MySQL死锁的产生原因以及解决方案

    在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严 重影响应用的正常执行。 在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁...

    ORACLE数据库智能化管理系统2012

    还在为达到求某种数据值需要多表数据关联起来后得到结果重复,想去除多余行值,单独书写的SQL语句又无法解决而频繁手工操作或通过编写软件才能实现想要的结果而烦恼吗? 还在为查看数据库会话情况及死锁情况,想批量...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 ...

    oracle 12c 数据库 教程

    (六)Oracle 数据库备份的解决方案 89 二、闪回 90 (一)什么是闪回 Flashback? 90 (五)闪回查询:Flashback Query 91 (六)闪回版本查询:Flashback Version Query 92 (七)闪回表:Flashback Table 93 (八...

    ORACLE9i_优化设计与系统调整

    §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §1.2.4 其它支持文件 26 §...

    细化解析:不同类型数据库的死锁问题

    MSSQL、DB2、Oracle之类的现代DBMS或者中间件可以帮助我们自动解决绝大部分死锁,其余一部分难以处理的死锁则由DBA在数据库控制端手工处理。就应用程序而言,不需要在源代码级过多考虑地考虑死锁问题。死锁的发生对...

    oracle常用语句

    附件是整理oracle常用语句,能够解决平常遇到的导数据、死锁、sql拼接、修改表空间、session回话、数据回滚等问题,还是比较实用的。

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    5.1.1 Oracle数据存储模型 140 5.1.2 段、区间、块和行 142 5.1.3 文件存储技术 144 5.2 创建和管理表空间 146 5.2.1 创建表空间 146 5.2.2 更改表空间 150 5.2.3 删除表空间 154 5.2.4 OMF 154 5.3 管理表...

    关于Oracle数据库中的锁机制深入研究

    本文通过对Oracle数据库锁机制的研究,首先介绍了Oracle数据库锁的种类,并描述了实际应用中遇到的与锁相关的异常情况,特别对经常遇到的由于等待锁而使事务被挂起的问题进行了定位及解决,并对死锁这一比较严重的...

    ORACLE数据库智能化管理系统2008演示

    9. 还在为达到求某种数据值需要多表数据关联起来后得到结果重复,想去除多余行值,单独书写的SQL语句又无法解决而频繁手工操作或通过编写软件才能实现想要的结果而烦恼吗? 10. 还在为查看数据库会话情况及死锁情况...

Global site tag (gtag.js) - Google Analytics