现在的位置: 首页 > 综合 > 正文

2013-05-23修改数据未提交引发的性能问题

2014年07月31日 ⁄ 综合 ⁄ 共 876字 ⁄ 字号 评论关闭

      今天上午9:41,接到客户反馈数据库出现性能问题,有大量的行锁等待。经过分析,原因是实施组昨天下午删除了两条业务单据,一直没有提交导致。

此次性能事件影响范围:

         确认没有接到大量用户投诉系统慢的电话,但分析weblogic一个节点的日志,nohup.out日志中发现某模块有38stuck线程,可以推断出还是影响了少部分用户收到了影响。

  Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 23222 23-5月 -13 08:00:29 338 20.0
End Snap: 23223 23-5月 -13 09:00:41 410 18.1
Elapsed:   60.21 (mins)    
DB Time:   387.28 (mins)    

Event

Waits

Time(s)

Avg Wait(ms)

% Total Call Time

Wait Class

enq: TX - row lock contention

5,482

16,064

2,930

69.1

Application

CPU time

 

7,115

 

30.6

 

db file sequential read

55,948

46

1

.2

User I/O

db file scattered read

7,927

37

5

.2

User I/O

log file sync

9,884

37

4

.2

Commit

在SQL ordered by Elapsed Time中发现被堵塞会话的SQL。

事件回顾:

 522
17:30
 
实施组在PL/SQL删除了单号为DA261408502F4DA3的业务单,没有提交,此时数据库会将这两条锁住。

 523
8:41
 
有用户修改单号为DA261408502F4DA3的单据,由于记录被锁住,形成行锁等待(access.log中可以查到访问记录)。此后不断有用户操作这两张单据(access.log中可以看到),形成的行锁越来越多,可以从数据库报告上可以看到相应的现象,同时nohup.out日志中出现stuck

523
9:41
  
监控到数据库性能负载高。

523
10:40
 
kill行锁的会话。

 

抱歉!评论已关闭.