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