`

《转载》net message from client 等待事件

 
阅读更多
   在对数据库做性能优化时,总是观察到SQL*Net message from client这个的等待时间超级长,还以为是哪个地方有严重问题呢,查完资料发现是正常的,继续把学习的资料转发下,给自己做个笔记。感谢原作者。
   SQL*Net message from client 事件产生的原因分析
分类: oracle管理知识总结 2007-12-19 21:00 7345人阅读 评论(3) 收藏 举报
SQL*Net message from client 事件产生的原因分析
今天同事运行一个程序,修改表的内容,但运行一半总是挂起,查询数据库看有什么在等待,
查询v$session_wait
SELECT S.SID,
       S.SERIAL#,
       S.USERNAME,
       S.STATUS,
       S.MACHINE,
       S.PROGRAM,
       S.MODULE,
       A.SQL_TEXT
  FROM V$SESSION S,
       V$SQLAREA A
WHERE S.USERNAME IS NOT NULL
   AND S.SQL_ADDRESS = A.ADDRESS
看见同事那个会话在那挂起,看见SQL*Net message from client 等待时间最长,其实这个是oracle空闲等待时间,只要网络没有问题,可以不用考略这个wait。后来同事修改了下程序通过了,他是因为执行了大查询,而无反应。
下面是参考文档:
1.对于一个session来说,每时每刻都在wait 的状态。
WAIT FOR IO / WAIT FOR CPU / WAIT FOR LATCH /WAIT FOR ...
这一点你可以Query v$session_wait,总有data.

2.对于Server process来说,但它处理完所有需要处理的东西之后,它就进入另一个WAIT,SQL*Net message from client ,等待着Cilent发来信息让它处理,而我们把这种wait叫做ildel event,并不代表真正的loading

3.举一个例子,你在工作,比如说1:00-1:30在检查DB状态,1:30 - 2:00在读文档。但是,有时候你没什么事做,这时候老板问你在干吗,你就会说,我在等待任务呢,实际上是在休息,就相当于你wait for "任务from老板“,事实上是在休息,也就是没有loading.

4.当然也有其他情况,比如,你在座位上休息 (wait for "任务from老板“ ) ,本来应该是idle的。但是过一会,你老板跑来,暴跳如雷:“我刚才想叫你出去买咖啡,怎么打了半天电话也没人接“,你一查,原来是分机没接好。这种情况下的 (wait for "任务from老板“ ) 就不正常了。相对应的Oracle里的就是网络不畅,Client想发信息给Server process,结果不成功,而Server process一直是wait for SQL*Net message from client .

5.结论,只要网络没问题。SQL*Net message from client 这个wait不用管。

  
分享到:
评论

相关推荐

    监控oracle的等待事件

    空闲等待事件通常发生在用户会话等待进一步指令时,如 SQL*Net message from/to client 等待,这类事件在性能调优时通常不作为重点考虑。而非空闲等待事件则涉及到数据库活动,例如锁定、I/O 操作、并发控制等,它们...

    ORACLE常见等待事件说明

    常见的空闲等待事件包括 dispatcher timer、lock element cleanup、Null event、parallel query dequeue wait、parallel query idle wait、pipe get、PL/SQL lock timer、pmon timer、slave wait、smon timer、SQL*...

    QQ Message Client

    QQ Message Client是一款专为Windows CE 6.0 R3操作系统设计的即时通讯软件,它使得在掌上设备或嵌入式系统上也能享受QQ带来的便捷沟通体验。Windows CE是一个微软开发的面向小型设备和嵌入式系统的操作系统,6.0 R3...

    Tuning 'log file sync' event waits

    在数据库管理中,"log file sync"事件等待是一个关键的问题,它涉及到数据库日志文件同步的过程。"log file sync"事件表示事务提交时,用户进程需要等待LGWR(Log Writer)进程将重做日志缓冲区中的数据写入到重做...

    Oracle常见等待事件说明

    6. **SQL*Net message from client**:这个等待事件表明服务器正在等待客户端发送新的SQL命令。优化可能包括提高网络带宽,减少不必要的交互,或者使用批量处理。 7. **Enqueue**:排队等待,这通常与并发控制和...

    Java Socket 聊天室 多线程实现

    Message From Client:[Hey~buddy~Where am I?] You're In My Office Message From Client:[Really?This Is Your Office?It's So Wonderful!] For Sure Buddy! Client End: Typing Words And Press [Enter] To Send ...

    30种oracle常见的等待事件说明.zip_oracle

    6. **SQL*Net Message from Client**: 当服务器等待客户端发送新命令时发生。这可能是由于网络延迟或客户端处理速度慢造成的。优化网络配置和客户端代码可以改善。 7. **SQL*Net Message to Client**: 服务器等待向...

    node-postmessage-client:浏览器的postMessage客户端实现

    邮件客户端安装npm install --save postmessage-client用法您必须将此模块与另一侧的postmessage-server模块一起使用(远程窗口)es6 import Client from '../src' ;const client = new Client ( ) ;client . ...

    message_bus-client:Message Bus客户端的Ruby实现

    安装将此行添加到您的应用程序的Gemfile中: gem 'message_bus-client' 然后执行: $ bundle或将其自己安装为: $ gem install message_bus-client用法该API主要与JavaScript客户端等效: client = MessageBus :: ...

    MQTTClient_paho.mqtt.client_python_mqtt_

    print("Received message: %s from topic: %s" % (msg.payload.decode(), msg.topic)) # 创建MQTT客户端 client = mqtt.Client() # 默认为TCP连接,也可以设置为SSL client.on_connect = on_connect # 设置连接...

    neusoft-message-client6

    东软实训项目代码:Java短信交易平台 java2班4组代码 东软实训项目代码:Java短信交易平台 java2班4组代码

    C#使用 MQTTnet 快速实现 MQTT 通信,搭建的server和client例程Demo

    await client.PublishAsync(message); ``` 5. **订阅消息** - 使用 `MqttClientSubscribeOptionsBuilder` 创建订阅选项,指定主题过滤器。 - 调用 `MqttClient.SubscribeAsync` 方法订阅主题。 ```csharp var ...

    UdpClient类客户端_UDP_udp客户端列表_udpclient类_

    Console.WriteLine("Received message from {0}: {1}", remoteEP, receivedMessage); ``` 这段代码会等待并接收来自任何来源的数据,并更新`remoteEP`变量以存储发送数据的远程端点信息。 在创建UDP客户端列表时,...

    postmessage-client-server:一个简单的基于promise的客户端和服务器,可通过邮寄消息在页面和iframe之间进行通信

    import { server } from 'postmessage-client-server' ; server ( { // Include any methods you wish to call from the client bark ( thing ) { console . log ( 'SERVER: Bark at' , thing ) ; return '...

    python-socket-udp-server-client.zip_For You I Will_Network_can p

    the server window, and then the client waits for the response from server side ,then u type message in server window, u will find that message show in client side ,then the server side goes into ...

    c# udp server and client

    string sendMessage = "Hello from Client"; byte[] sendData = Encoding.UTF8.GetBytes(sendMessage); client.Connect("192.168.1.100", 12345); // 替换为服务器的IP和端口 client.Send(sendData, sendData.Length...

    PBMessage 消息详解

    4. **学习和理解 PowerBuilder 事件驱动编程**:对于新手开发者,PBMessage 是一个很好的学习工具,它可以帮助理解 PowerBuilder 如何处理各种事件和消息。 PBMessage.exe 文件的使用方法通常很简单: 1. **运行...

    RFC3842 A Message Summary and Message Waiting Indication Event Package for the Session Initiation Protocol (SIP).docx

    2. 背景和适用性:SIP事件包的提出是为了解决消息等待问题,提供一种灵活的机制来传输消息等待状态和消息摘要,从而提高用户体验。 3. 事件包正式定义:事件包名称是“message-summary”;事件包参数包括消息等待...

    CoCreate-message-client:Vanilla javascript中的一个简单消息组件。 使用HTML5数据属性和_或JavaScript API轻松配置

    CoCreate消息客户端Vanilla javascript中的一个简单的message-client组件。 使用HTML5数据属性和/或JavaScript API轻松配置。 在我们的有关完整的指南和演示示例,请参考CDN < script src =" ...

Global site tag (gtag.js) - Google Analytics