暂无图片
Oracle 里 TCP Socket (KGAS) 这个等待事件一般是什么导致?
我来答
分享
暂无图片 匿名用户
Oracle 里 TCP Socket (KGAS) 这个等待事件一般是什么导致?

Oracle 里 TCP Socket (KGAS) 这个等待事件一般是什么导致?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新

一般会话过程就会有,毕竟数据交互TCP交互。官网对这个提示的描述是:出现会话正在等待外部主机通过网络套接字提供请求的数据,此等待事件跟踪的时间并不表示存在问题。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
Lucifer三思而后行
暂无图片

可参考 MOS 文档:

可以通过以下sql查询是什么导致 TCP Socket (KGAS) 等待事件:

SELECT sid, total_waits, time_waited FROM v$session_event WHERE event='TCP Socket (KGAS)' and total_waits>0 ORDER BY 3,2 ;
复制

所产生的等待取决于哪些套接字被打开到哪些远程端点以及出于什么原因。为了帮助找到套接字操作的起源,请尝试:

  • 检查 V$SESSION 的当前 SQL / 模块 / 操作以查找在等待事件时正在等待事件的会话,以尝试识别等待事件的应用程序代码的任何公共区域。
  • 获取等待事件的某些会话的 ERRORSTACK 级别 3 转储。如果在会话等待时进行转储,这应该有助于显示调用套接字操作的确切 PLSQL 和 C 调用堆栈。客户可能需要 Oracle Support 的帮助才能获取和解释此类转储,但它可以帮助查明相关的应用程序代码。
  • 跟踪导致等待的会话,包括等待跟踪以尝试将等待置于围绕等待执行的代码的上下文中。例如:使用事件 10046 级别 8 或 DBMS_MONITOR.SESSION_TRACE_ENABLE。
  • 使用 DBA_DEPENDENCIES 查找可能最终在下面使用 UTL_HTTP 或 UTL_TCP 进行某些操作的任何应用程序包。

请注意,Oracle 中没有针对这些等待的真正可调参数,因为它们涉及会话调用某个远程 TCP/IP 套接字并通常等待来自该源的数据。一旦您知道调用了什么以及为什么调用,那么您就可以确定来自该远程源的响应时间是否合理以及为什么不合理。

在专用连接上的会话中执行以下 SQL,然后检查生成的跟踪文件以查看“TCP Socket (KGAS)”等待:

alter session set events '10046 trace name context forever, level 8'; select utl_http.request('http://www.oracle.com/') from dual;
复制
  • 从数据库的角度来看,可以放心地忽略这些等待;等待事件不代表数据库问题。它仅报告建立网络连接或通过网络传输数据所用的总时间。数据库等待连接建立并报告所用时间。

  • 从应用程序或网络的角度来看,建立网络连接的延迟可能会给用户带来不必要的延迟。您应该确保应用程序有效地进行网络调用,并且网络运行良好,以便最大限度地减少这些延迟。

希望可以帮助到你~

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
oracle 12CDG非实时怎么启呢?
回答 5
ARCHIVEDLOGFILE
Oracle如何修改已有dblink中的连接串
回答 2
常用的就是删除重建
请教一下各位,文件系统建的库io瓶颈,是否可以开启异步?开启异步是否有影响
回答 1
异步io可能会导致坏块,所以没有dg情况下,最好禁用在有dbfileparallelwait等待高的情况下,可以试着禁用异步io在异步io性能不如同步io的情况下,关闭异步io,可以调大dbwrite
RAC数据库和经常所说的Oracle 有什么区别呢?
回答 4
已采纳
RAC(RealApplicationClusters)是Oracle数据库的一种特定配置,它允许将多个独立服务器(节点)组成一个集群,共同访问和处理同一个数据库。RAC提供了高可用性、可扩展性和负载
存储过程中,如果where条件是动态增加的,如何实现
回答 2
setserveroutputon;declaremonvarchar2(4);vsqlvarchar2(20);v1varchar2(200);vsql2varchar2(1000);beginse
oracle 普通用户登录hang 住
回答 4
很有可能你的库在2月4日22点前已经不正常了,到22:00时mmon也不能正常工作了。而你5日下午15:00才发现问题后重启了库。4日21:54的ora1578报错可能和坏块有关系。建议上传完整的al
windows server2012R2(数据中心版)安装oracle19c 提示 ins-35180(无法检查可用内存) 请问有解决办法吗?
回答 1
是否用的administrator用户进行安装?
一个麻烦的UNPIVOT实现
回答 4
不是很麻烦witht1as(selectregexpsubstr(ENTITYCODE,'[^]',1,2)ENTITYCODE,REPLACE(regexpsubstr(ENTITYCODE,'[^
Oracle 11g 补丁升级是否考虑对12c 的兼容性问题
回答 2
不需要考虑,因为互不影响
oracle导出数据库中的表结构有什么便捷的方式吗?
回答 2
已采纳
也可以写个存储过程,导出表结构
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~