SQL*Net more data to client等待事件
收到客户的一份报告,说远程处理数据库事务时出现"卡"的现象,也就是运行比较缓慢。
在相应时段做了一个AWR报告,报告中显示了这样一些等待:
1 Top 5 Timed Events Avg %Total 2 ~~~~~~~~~~~~~~~~~~ wait Call 3 Event Waits Time (s) (ms) Time Wait Class 4 ------------------------------ ------------ ----------- ------ ------ ---------- 5 SQL*Net more data to client 307 769 2505 ###### Network 6 control file parallel write 2,387 37 16 444.1 System I/O 7 SQL*Net more data from client 26 16 607 187.8 Network 8 log file parallel write 667 8 12 97.2 System I/O 9 log file sync 289 5 17 58.1 Commit 10 -------------------------------------------------------------
在等待事件中,"SQL*Net more data to client"是最为显著的,这意味着什么呢?
这说明数据库在向客户端发送数据,而且是"more",不停的发送,如果网络状况不好,或者网络流量过大,都可能导致这一等待非常显著。
客户的这个环境属于前者,由于通过公网访问,网络质量不够理想,出现了访问延迟的问题。