我目前正在调试数据库性能问题。我在受苦的oracle框上运行了扩展跟踪,以获取我使用tkprof分析的跟踪文件。
直接引起我注意的一件事是以下输出;
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 4 0.00 0.00
SQL*Net message from client 4 109.06 141.31
我已经通过SQL客户端手动运行了相关查询,并及时执行。所以我不认为它的原因直接来自查询。
有人可以澄清“来自客户端的SQL * Net消息”究竟是什么意思吗?
有没有人知道造成如此大的等待时间的原因是什么?
提前致谢
卡尔
答案 0 :(得分:3)
来自客户端的SQL * Net消息表示oracle等待来自您正在连接的客户端的输入所花费的时间。它通常被认为是一个“闲置”的事件,所以没什么好担心的;但是,这个链接不同意。您可能会发现您的客户是花时间的客户,因此您可以优化您的应用程序而不是它使用的查询。
http://oracletoday.blogspot.com/2005/09/sqlnet-message-from-client.html
另外,另一个好的链接是http://www.dba-oracle.com/m_sql_net_message_to_client.htm
答案 1 :(得分:1)
有很好的帖子谈论“ Oracle:网络等待”
链接:https://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits
内容
1 Introduction
2 SQL*Net Wait Events
2.1 SQL*Net message from client
2.2 SQL*Net message to client
2.3 SQL*Net more data to client
2.4 SQL*Net more data from client
2.5 SQL*Net break/reset to client
2.6 DBLINK SQL*Net Waits
3 Analysis and Tuning
3.1 SDU
3.2 RECV_BUF_SIZE and SEND_BUF_SIZE