SQL*Net more data from client

SQL*Net more data from client The server is waiting on the client to send more data to its client shadow process, in an already initiated operation.

Oracle服务器等待客户端发送更多的数据

这个等待事件基本上是最常见的一个等待事件。 当一个会话建立成功后,客户端会向服务器端发送请求,服务器端处理完客户端请求后,将结果返回给客户端,
并继续等待客户端的请求,这时候会产生SQL*Net message from client 等待事件。

很显然,这是一个空闲等待,如果客户端不再向服务器端发送请求,服务器端将一直处于这个等待事件状态。

The cause of this event was a sequence of parse calls that passed excessively long SQL text strings through SQL*Net from the client to the server
 (instead of using stored procedure calls to accomplish the same thing). 
The long SQL text strings wouldn’t fit into a single SQL*Net packet, so the Oracle kernel spent a considerable amount of time awaiting second and subsequent SQL*Net packets during parse calls.



这个原因是一些列的解析请求传递了过长的SQL文本窜通过SQL*Net from the client to the server,(可以用存储过程完成同样的事情)长的SQL文件窜不能放到单独一个 SQL*Net packet,所以Oracle内核花费了大量的时间等待第二次及以后的SQL* Net的数据包 


Wait Time: The time waited depends on the time it took to receive the data (including the waiting time)

等待时间依赖于花费在接收数据的时间

A shadow process is also called a server process in documentation. Oracle processes are either background processes such as DBWn, PMON, or server processes

which look like

$ ps -ef | grep LOCAL
  oracle 10492     1  0   May 03 ?        0:01 oracleprod (DESCRIPTION=(LOCAL=no)(ADDRESS=(PROTOCOL=BEQ)))
  oracle 10482     1  0   May 03 ?        0:05 oracleprod (DESCRIPTION=(LOCAL=no)(ADDRESS=(PROTOCOL=BEQ)))
  oracle 28774     1  0 01:15:59 ?        2:41 oracleoprd (LOCAL=NO)

原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3798067.html