热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

一次Oracle故障处理过程

中午接到报警,tomcat连接oracle并发数超过阀值,首先怀疑是否刚更新了程序,但询问一番后答案都是否。然后怀疑是有人进行大的操

中午接到报警,tomcat连接oracle并发数超过阀值,首先怀疑是否刚更新了程序,但询问一番后答案都是否。然后怀疑是有人进行大的操

中午接到报警,tomcat连接Oracle并发数超过阀值,首先怀疑是否刚更新了程序,但询问一番后答案都是否。然后怀疑是有人进行大的操作。

登录到数据库机器,用top查看,是否有消耗资源的进程。发现所有的进程资源消耗比较平均,应该没有人在进程大查询或者大的操作。

使用ASH,查看数据库近15分钟发生了什么。

SYS@sg>@?/rdbms/admin/ashrptDefaults TO -15 mins
Enter VALUE FOR begin_time: -15
Report BEGIN TIME specified: -15
打开报告,发现可疑的sql。

SQL ID Planhash % Activity Event % Event
------------- ----------- ---------- ------------------------------ ----------
2ghd19kmj1m1t 2931439336 97.04 enq: TX - ROW LOCK contention 96.89UPDATE tb_name WHERE ...... -------------------------------------------------------------
这条语句,产生的enq: TX - row lock contention事件,占了整个的96.89%,确认问题就好解决了。

SELECT a.sid, b.SERIAL#,a.state, a.wait_time
FROM v$session_wait a,v$session b
WHERE a.wait_class='Application' AND a.event='enq: TX - row lock contention'
AND a.sid=b.sid ORDER BY a.wait_class, a.event, a.sid; SID SERIAL# STATE WAIT_TIME
---------- ---------- ------------------- ----------
1817 42155 WAITING 0
1819 38267 WAITING 0
1824 43045 WAITING 0
1827 29392 WAITING 0
1831 56038 WAITING 0
1833 16463 WAITING 0
1836 13558 WAITING 07 rows selected.SYS@sg>alter system kill session '1817,42155';
System altered.
杀掉相关进程,OK问题解决。在找开发人员,修改相关的应用。

这里只是提供一个思路,,发生问题的时候,一定需要冷静思考问题可能出现的地方,先找出问题的所在,再根据问题去解决。

linux

推荐阅读
  • 周排行与月排行榜开发总结
    本文详细介绍了如何在PHP中实现周排行和月排行榜的开发,包括数据库设计、数据记录和查询方法。涉及的知识点包括MySQL的GROUP BY、WEEK和MONTH函数。 ... [详细]
  • PHP 使用 Cookie 进行访问授权的方法
    本文介绍了如何使用 PHP 和 Cookie 实现访问授权,包括表单验证、数据库查询和会话管理等关键步骤。 ... [详细]
  • 操作系统如何通过进程控制块管理进程
    本文详细介绍了操作系统如何通过进程控制块(PCB)来管理和控制进程。PCB是操作系统感知进程存在的重要数据结构,包含了进程的标识符、状态、资源清单等关键信息。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • 本文讨论了在进行 MySQL 数据迁移过程中遇到的所有 .frm 文件报错的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 本文对SQL Server系统进行了基本概述,并深入解析了其核心功能。SQL Server不仅提供了强大的数据存储和管理能力,还支持复杂的查询操作和事务处理。通过MyEclipse、SQL Server和Tomcat的集成开发环境,可以高效地构建银行转账系统。在实现过程中,需要确保表单参数与后台代码中的属性值一致,同时在Servlet中处理用户登录验证,以确保系统的安全性和可靠性。 ... [详细]
  • 全面解析JavaScript代码注释技巧与标准规范
    在Web前端开发中,JavaScript代码的可读性和维护性至关重要。本文将详细介绍如何有效地使用注释来提高代码的可读性,并探讨JavaScript代码注释的最佳实践和标准规范。通过合理的注释,开发者可以更好地理解和维护复杂的代码逻辑,提升团队协作效率。 ... [详细]
  • 系统转换的三种方法及其具体应用分析
    系统转换是信息技术领域中常见的任务,本文详细探讨了三种主要的系统转换方法及其具体应用场景。这些方法包括:代码迁移、数据迁移和平台迁移。文章通过实例分析了每种方法的优势和局限性,并提供了实际操作中的注意事项和技术要点。例如,代码迁移适用于从VB6获取网页源码,数据迁移在Ubuntu中用于隐藏侧边栏,而平台迁移则涉及Tomcat 6.0的使用和谷歌爬虫的测试。此外,文章还讨论了蓝翰互动PHP面试和5118 SEO工具在系统转换中的应用,为读者提供了全面的技术参考。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 解决SQL Server数据库sa登录名无法连接的问题
    在安装SQL Server数据库后,使用Windows身份验证成功,但使用SQL Server身份验证时遇到问题。本文将介绍如何通过设置sa登录名的密码、启用登录名状态以及开启TCP协议来解决这一问题。 ... [详细]
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • SQL 连接详解与应用
    本文详细介绍了 SQL 连接的概念、分类及实际应用,包括内连接、外连接、自连接等,并提供了丰富的示例代码。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 本视频教程将带你快速了解 Android 开发的基础知识,并详细讲解如何在 Android 应用中使用 SQLite 数据库进行数据存储和管理。 ... [详细]
author-avatar
最陌生的挣扎2502893263
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有