开发人员说前台用户反映操作变慢,要求看一看数据库,一查,没有活动会话在执行SQL,没有锁或阻塞现象,但是,有一台应用服务器的连接比初始化增加了一倍,另外,SQL monitor显示一个SQL处于executing状态,但执行时间(ela_time)却只有21秒,而SQL开始时间已经超过半小时了; 从SQL monitor报告看,sql的持续时间在增加,但执行时间却不变,SQL很简单,是一个导出语句,但没有加条件,所以最终将查询364万数据,速度并不慢; 这种现象还真是不常见,一般的要么是SQL慢一直在执行,要么就是有阻塞,这个看起来,DB没问题,但会话在增加,前台慢的情况确实存在; 结合现象,个人认为,源头是因为导出大量的数据,而实际上oracle是分页fetch的,即执行第一次取记录给到应用服务器之后,可能是数据太大,应用服务器端出了异常,结果代码跑不下去了(异常处理不到位),这样就把这个SQL晾在这里了,既不执行,也不终止,而前端用户发现没有发映,又继续发起请求,但这些请求在连接了数据库之后(增加了会话连接),但又因为有前面的任务没有完成,又处于应用层排队等待的状态(DB层状态空闲); 所以,真正的问题是应用的代码端,对导出的设计及异常处理考虑不周,让他们去检查代码,确实发现了BUG。
一个不多见的SQL挂起问题
来源:这里教程网
时间:2026-03-03 12:53:18
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- Oracle 12.2 How to Generate AWRs in Active Data Guard Standby Databases
- ORACLE RAC 两节点db_32k_cache_size设置不当导致表truncate失败之ORA-00379
- PLSQL语法
PLSQL语法
26-03-03 - oracle两节点RAC,由于gipc导致某节点crs无法启动问题分析
oracle两节点RAC,由于gipc导致某节点crs无法启动问题分析
26-03-03 - 一个容易被忽略的SQL调优技巧 --- order by字段到底要不要加入索引
- 为什么没有Word2003公式编辑器,如何安装?
为什么没有Word2003公式编辑器,如何安装?
26-03-03 - Oracle数据库SQL语句执行过程
Oracle数据库SQL语句执行过程
26-03-03 - ORACLE中seq$表更新频繁的分析
ORACLE中seq$表更新频繁的分析
26-03-03 - 重做日志管理
重做日志管理
26-03-03 - null值在oracle和mysql中的差异
null值在oracle和mysql中的差异
26-03-03
