Oracle 等待事件 SQL*Net message to dblink 官方解释,作用,如何使用及优化方法
本站中文解释
Oracle数据库包含SQL*Net Message to Dblink事件,它是在远程连接(dblink)之间控制网络通信,并与远程查询有关,属于高开销事件。事件定义为客户端传输信息至服务器,解析请求对象。
SQL*Net Message to DBLink事件发生时,客户端向服务器发送一次连接(connect),用于远程连接(dblink)交互。当客户端连接服务器时将发出一个SQL*Net或TCP/IP消息,请求传输数据,或者检查远程的连接状态;当服务器返回客户端的请求信息时,将发出一个SQL*Net或TCP/IP消息,以及服务器主机的名字等,客户端将会从消息中提取服务器的信息,然后将被客户端的请求信息回传给服务器,以维护该事件,并更新状态。
SQL*Net Message to DBLink事件消耗的时间较长,因为客户端和服务器之间没有保存会话连接,或使用共享内存区用于相互传送信息,客户端和服务器每次都要完全重新发起消息通信和传输。待连接结束后,这个事件将终止,下一次事件的开始,表示客户端发出了另一次连接(connect)。
而SQL*Net Message to DBLink事件可能无法完成成功,如果由于一些原因(如网络超时等)无法及时让客户端和服务器正确交互,导致数据库对象错误,SQL*Net message to dblink事件将进行重试,可能会造成较大开销。因此,在远程连接期间,应尽量控制SQL*Net Message to DBLink事件,减少事件的开销,并确保网络消息能正确传递。
官方英文解释
The server process (foreground process) is sending a message over a database link to another server process.
Wait Time: The actual time the send takes
Parameter | Description |
---|---|
driver id |
See “driver id” |
#bytes |
The number of bytes sent by the server process to another server process over a database link |
See Also:
Oracle Database
Performance Tuning Guide for more information about this wait event