`
aqc100
  • 浏览: 13389 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 死锁ORA-00060错误的原因与解决

 
阅读更多
             oracle 死锁ORA-00060错误的原因与解决

问题:org.springframework.dao.DeadlockLoserDataAccessException: SqlMapClient operation; SQL [];  

--- The error occurred in sqlmap/UserStat_SqlMap.xml. 

--- The error occurred while applying a parameter map. 

--- Check the UserStat.statByHour-InlineParameterMap. 

--- Check the statement (update failed). 

--- Cause: java.sql.SQLException: ORA-00060: 等待资源时检测到死锁

原因分析:
    首先死锁是怎么发生的:
   简单说,两个或多个并发事务相互等待,互补想让,没有外力就无法继续下去,这就制造了死锁。数据库检测到死锁时,就会将死锁的各个事务回滚,并抛出ORA-00060异常。所以上面报错出现的情况极少,将死锁解除后又可以正常运行。

解决思路:
    死锁是无法根除的,特别在高并发的系统中。只有尽可能优化速度,减少互相等待的机会。原则为:执行速度越快越好,访问资源时锁的范围越小越好。根据这个原则就可以优化我们的sql,将负责的sql拆分,若果业务允许的情况下。还有事务越小越好。

解决技巧:
        1,出现死锁异常后,手工将死锁解开。
        2,找出造成死锁的sql:
            a,直接看日志:程序中日志做的很详细的话,是能够找到具体哪个sql报的错,操作的哪个表,还有别的模块也操作这个表,线程,并发的程序也会引起。
            b,通过oracle的后台v$session表 和 v$sql 的分析 找到。 
        3,对sql进行优化。   
分享到:
评论

相关推荐

    ORA-00060: 等待资源时检测到死锁--oracle 数据库表死锁异常

    有关表死锁的详细图片 博文链接:https://meteor-1988.iteye.com/blog/1568695

    oracle数据库解决死锁

    oracle数据库解决死锁,使用plsql语句手动解决死锁问题

    有效关闭Oracle死锁进程,和释放状态为killed的session

    有效关闭Oracle死锁进程,和释放状态为killed的session

    解决Oracle死锁问题.txt

    编译的存储过程的时候,程序死住,等待一会出现ora-04021错误解决办法。文档中有查询思索的语句,以及杀掉死锁进程的方法。

    查看 oracle 死锁程序

    查看 oracle 死锁程序 本程序可轻松查看oracle数据库是否有表锁死

    oracle11g常见故障

    oracle11g常见故障总结,可以做日常培训使用: Oracle 11g数据库常见故障及处理 安装和配置类问题 实例管理类问题 数据管理类管理 数据库恢复类问题 管理工具类问题 ORA-00600介绍和案例分析...ORA-07445介绍和案例分析

    Oracle的日志管理攻略

    ORACLE数据库的日志文件$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息.  数据库管理员需要检查这个文件有无...

    一次Oracle频繁DeadLock问题分析处理经历

    一次Oracle频繁DeadLock问题分析处理经历事件描述处理过程分析结果 事件描述 早上十点,客户电话打来,描述了一下业务缓慢,卡的...ORA-00060: Deadlock detected. More info in file e:\app\dnsapp\diag\rdbms\xxxx

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    南京的死锁问题今日点评优化小技巧 Oracle的死锁优化小技巧 几个常用的与锁相关的脚本5月20日 凌晨的邮件通知短信今日点评优化小技巧 /10028事件优化小技巧 PL/SQL 优化工具profiler5月22日 ODS系统和RAC优化小技巧 ...

    Oracle 查询死锁并解锁的终极处理方法

    现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。 1.下面的语句用来查询哪些对象被锁: 代码如下:select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$...

    ORACLE9i_优化设计与系统调整

    第一部分 ORACLE系统优化基本知识 23 第1章 ORACLE结构回顾 23 §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1...

    Oracle 9i&10g编程艺术:深入数据库体系结构(全本)含脚本

    9.6.2 ORA-01555: snapshot too old错误 323 9.7 小结 334 第10章 数据库表 335 10.1 表类型 335 10.2 术语 337 10.2.1 段 337 10.2.2 段空间管理 339 10.2.3 高水位线 340 10.2.4 freelists 342 10.2.5 ...

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

     删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。  删除HKEY_CURRENT_USER/SOFTWARE/Microsoft/windows/CurrentVersion/Explorer/MenuOrder/Start Menu/Programs中所有以oracle 开头...

    Oracle编程艺术

    1.3.6 DBA与开发人员的关系.........................................................119 1.4 小结....................................................................................121 第 2章体系结构概述...

    Java-learning:我在Eclipse下用Java编写

    Ora是Oracle的连接器,是jdbc8的包装器。 缓存连接实例,显示测试表的内容。 DeadlockSandbox是一个简单死锁的说明。 两个嵌套事务将更新同一行。 在jdbc中,可以使用反射来调用一个私有方法,该方法提供会话标识符...

Global site tag (gtag.js) - Google Analytics