`
lee79
  • 浏览: 106273 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle死锁问题跟踪处理

阅读更多

死锁问题跟踪
  当Oracle检测到死锁产生时,中断并回滚死锁相关语句的执行,报ORA-00060的错误并记录在数据库的日志文件alertSID.log中。同时在user_dump_dest下产生了一个跟踪文件,详细描述死锁的相关信息。

  登陆到oracle安装主机上,cd /,执行find . -name alert*.log,此文件中有ORA-000060: Deadlock detected. More info in file /oracle/admin/vodapp/udump/vodapp_ora_7490.trc,view trc 文件找到相应的sql
 
举例

  应用DB,对应的日志文件为/oracle/admin/vodapp/bdump/alert_vodapp.log
  查找2007年的Deadlock跟踪文件,
  死锁主要语句如下:
    delete from VOD_ASSET where assetid=:1

问题起因
  通常外键不加索引是引起deadlock的头号原因

解决办法
  1.    对外键添加索引或去掉外键(没有了外键约束可以规避该问题)
  2.    对引起死锁的方法进行同步控制
    a. 如果是同一个方法,考虑使用synchronized
    b. 如果不同方法,考虑用读、写锁
  3. 考虑采用悲观锁:select * for update

分享到:
评论

相关推荐

    oracle死锁原因解决办法

    #### 三、Oracle死锁检测与处理 Oracle数据库提供了一系列工具来帮助管理员检测和处理死锁。 ##### 3.1 死锁日志记录 当Oracle数据库检测到死锁时,会在警报日志文件(alert.log)中记录相关信息。这些信息对于分析...

    BLOG_Oracle_lhr_Oracle死锁的分类及其模拟.pdf

    【Oracle死锁的分类及其模拟】这篇博客主要探讨了Oracle数据库中的死锁问题,包括死锁的基本概念、分类以及如何进行模拟。以下是该主题的详细解释: **死锁概述** 死锁是数据库系统中常见的问题,它发生在两个或多...

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

    总之,Oracle数据库中的死锁问题可以通过理解其原理、利用内置视图进行定位,并结合系统自动解决和人工干预的方法来有效处理。良好的数据库设计和应用程序优化是预防死锁的关键,而持续的监控和性能调优则是确保...

    oracle数据库跟踪软件

    Oracle数据库跟踪软件是一种用于诊断和性能优化的重要工具,它与SQL Server中的事件探查器功能相似,主要用于收集数据库操作的详细信息,以便分析查询执行、事务处理和系统资源使用情况。在Oracle中,这种功能主要由...

    sql跟踪工具

    3. **故障排除**:在处理事务处理、并发问题或死锁时,跟踪信息有助于复现问题并找到解决方案。 4. **监控和审计**:企业可能会定期收集SQL跟踪信息,以了解数据库的运行状况和合规性。 四、处理跟踪文件 1. **...

    Oracle 常见问题1000问 chm 合集.rar

    14. **故障诊断与排查**:通过日志分析、告警日志、跟踪文件等手段找出并解决问题。 这些知识点仅仅是冰山一角,"Oracle常见问题1000问"合集可能还包含了更多关于数据库备份、性能调优、故障排除、存储优化、安全...

    oracle的1000个常见问题

    理解事务的概念,以及锁定、死锁和回滚段的工作原理,对于避免并发问题很有帮助。 9. **安全性**:Oracle数据库提供了丰富的安全特性,如审计、网络加密、Fine-grained Access Control (FGAC)等。理解如何设置和...

    Oracle_Parallel.rar_oracle

    本压缩包“Oracle_Parallel.rar_oracle”包含了两份关于Oracle SQL并行处理的重要资料:“Oracle_Parallel_SQL并行处理1_深入原理介绍.pdf”和“Oracle_Parallel_SQL并行处理2_执行计划分析与问题跟踪.pdf”。...

    ORACLE应用常见傻瓜问题1000问

    6. **并发控制**:Oracle使用多版本并发控制(MVCC)来处理并发事务,避免死锁和提高系统效率。理解锁机制和事务隔离级别是避免并发问题的关键。 7. **数据库性能监控**:通过V$视图可以监控数据库性能,如V$...

    oracle中常用错误代码总结

    10. ORA-00060, ORA-00061: 这些是死锁错误,通常需要通过死锁检测工具分析并解除死锁,或者优化事务处理以减少死锁的可能性。 11. ORA-00063 至 ORA-00069: 错误涉及到数据库文件、固定日期初始化、日志文件和其他...

    ORACLE错误码大全.doc

    Oracle数据库是世界上最流行的数据库管理系统之一,它在处理各种复杂事务和大数据方面表现出色。...在处理Oracle数据库的问题时,参考这个错误码大全可以帮助快速定位和修复问题,提高系统的稳定性和性能。

    oracle数据库开发规范.pdf

    8. Oracle的跟踪文件(trace files)用于诊断数据库问题。 9. Oracle的UNNEST操作用于展开集合类型的结果。 10. Oracle的事务日志记录和恢复机制确保数据的一致性和完整性。 通过以上知识点,可以看出文档内容...

    Oracle+SQL高级编程

    5. **并发控制**:Oracle采用多版本并发控制(MVCC)和行级锁定来处理并发操作,避免了传统的锁定模型导致的阻塞问题。理解回滚段、事务隔离级别和死锁的概念对于解决并发问题十分必要。 6. **安全性管理**:Oracle...

    Oracle BPEL

    - **异常处理**:添加错误处理机制,以确保流程在遇到问题时能够妥善处理。 ##### 3. 测试与调试 - **模拟测试**:利用模拟工具对流程进行初步的测试。 - **实时调试**:部署流程到Oracle BPEL Process Manager环境...

    oracle编程艺术代码

    5. 实例:由Oracle进程和SGA(System Global Area)组成,负责处理数据库的内存管理和I/O操作。 二、Oracle编程艺术 Oracle编程艺术涵盖了SQL、PL/SQL、数据库设计与优化等多个方面。通过源码,我们可以学习到: 1...

    ORACLE_日常维护知识大全

    这部分主要关注于系统级的日志文件和Oracle特定的日志文件,以便追踪问题并进行故障排查。 - **2.1. 检查操作系统日志文件** - 不同的操作系统有不同的日志文件位置。例如,在Linux环境下,可以通过查看`/var/log/...

    Effective_Oracle_by_Design(oracle高效设计)

    - 锁机制:详解Oracle的行级锁定、表级锁定和多版本并发控制(MVCC),以及如何避免死锁。 - 事务处理:讨论提交、回滚和保存点,以及如何设置合适的事务隔离级别。 5. **备份与恢复**: - RMAN(恢复管理器):...

    深入浅出Oracle:DBA入门

    诊断案例部分可能会提供一些典型的故障处理和问题解决的实战案例,比如处理死锁、锁等待和资源竞争问题。通过案例分析,DBA可以学习到问题诊断的思路和步骤,以及如何使用Oracle提供的诊断工具,例如SQL Trace、...

Global site tag (gtag.js) - Google Analytics