Oracle 数据库中的“(TNS V1-V3)”连接是什么

Oracle 数据库中的“(TNS V1-V3)”连接是什么,oracle,tns,Oracle,Tns,我看到我们的数据库gv$会话模块中有许多连接,如TNS V1-V3,程序也与TNS V1-V3相同。这些连接处于非活动状态,在两个db节点之间也不平衡。我们有数据库双节点RAC设置11.0.2.3 oracle超级群集 由于其中一个节点中的高连接,所有应用程序服务都连接到特定的db节点。示例节点-2。在高负载情况下,CPU使用率会上升。如何减少或删除这些连接。 任何建议都会大有帮助。这些是通过TNS侦听器发生的任何连接。如果它们处于非活动状态,则不会真正导致问题,除非总会话数达到数据库参数ses

我看到我们的数据库gv$会话模块中有许多连接,如TNS V1-V3,程序也与TNS V1-V3相同。这些连接处于非活动状态,在两个db节点之间也不平衡。我们有数据库双节点RAC设置11.0.2.3 oracle超级群集

由于其中一个节点中的高连接,所有应用程序服务都连接到特定的db节点。示例节点-2。在高负载情况下,CPU使用率会上升。如何减少或删除这些连接。
任何建议都会大有帮助。

这些是通过TNS侦听器发生的任何连接。如果它们处于非活动状态,则不会真正导致问题,除非总会话数达到数据库参数sessions,在这种情况下,节点将停止接受新连接。我将检查您正在使用的任何应用程序是否正在使用连接池,以及连接池是否正确配置为在一定空闲时间后断开其会话。请为您的Oracle版本添加标签,如oracle12c。您还可以查看TNS侦听器日志文件;做一个

 lsnrctl show log_directory
显示侦听器日志文件的位置

还请尝试以下查询,查看实例的会话限制是否接近该限制:

select a.inst_id, a.value,
        count(b.sid) as sessions_used,
        to_number(a.value) - count(b.sid) as avail_sessions
from gv$parameter a, gv$session b
where a.name='sessions' and a.inst_id=b.inst_id
group by a.inst_id, a.value
我在非RAC数据库上的结果:

   INST_ID VALUE  SESSIONS_USED AVAIL_SESSIONS
---------- ------ ------------- --------------
         1 772               74            698