OMS 增量同步JDBC Thin Client 相关会话不释放,导致Oracle链接数缓慢增加,最终导致session满无法建立新的连接

【 使用环境 】sit环境
【 OB or 其他组件 】OMS
【 使用版本 】4.2.4_bp1
【问题描述】使用本地oms做增量的时候,源端OB-Oracle至目标端ob-Oracle进行数据同步,存在oms会话没有及时释放的情况,连接名称是 JDBC Thin Client,检查连接来源都是从OMS主机发送过来,导致数据库链接数缓慢增长,最终达到最大连接数上限,影响同步链路及其他业务访问。

目前已定位到错误链路,链路为OB-Oracle->Oracle增量,增量组件日志已放入附件。具体描述如下:
1:偶发性在Oracle端建立会话丢弃后不释放会话,堆积在Oracle导致session满后无法建立新连接。
2:链路运行正常,且可进行正常数据同步,进入后会报如下错误:

3:在OMS 增量同步错误日志中,有打印大量的 java.sql.SQLRecoverableException: IO Error: Got minus one from a read call 日志,该日志显示有大量的网络IO(TCP 连接层面)的报错,OMS中有多条链路访问同一个数据源),推测可能是连接池总的会话数超过了数据库最大连接数限制。

信息收集:

  1. 统计会话数
MODULE                                                           PROGRAM                                            COUNT(*)
---------------------------------------------------------------- ------------------------------------------------ ----------
JDBC Thin Client                                                 JDBC Thin Client                                        313
PL/SQL Developer                                                 plsqldev.exe                                              4
plsqldev.exe                                                     plsqldev.exe                                              1

  1. 采集Oracle 会话超时配置
SQL> SELECT profile, resource_name, limit FROM dba_profiles WHERE resource_name='IDLE_TIME';
PROFILE                                                                          RESOURCE_NAME                    LIMIT
-------------------------------------------------------------------------------- -------------------------------- --------------------------------------------------------------------------------
DEFAULT                                                                          IDLE_TIME                        UNLIMITED
ORA_STIG_PROFILE                                                                 IDLE_TIME                        15
GENERAL_PROFILE_SP                                                               IDLE_TIME                        DEFAULT
SUSER                                                                            IDLE_TIME                        240
RESET_PASSWORD                                                                   IDLE_TIME                        DEFAULT
GENERAL_PROFILE_PP                                                               IDLE_TIME                        DEFAULT
6 rows selected
SQL> SELECT profile, resource_name, limit FROM dba_profiles WHERE resource_name='CONNECT_TIME';
PROFILE                                                                          RESOURCE_NAME                    LIMIT
-------------------------------------------------------------------------------- -------------------------------- --------------------------------------------------------------------------------
DEFAULT                                                                          CONNECT_TIME                     UNLIMITED
ORA_STIG_PROFILE                                                                 CONNECT_TIME                     DEFAULT
GENERAL_PROFILE_SP                                                               CONNECT_TIME                     DEFAULT
SUSER                                                                            CONNECT_TIME                     DEFAULT
RESET_PASSWORD                                                                   CONNECT_TIME                     DEFAULT
GENERAL_PROFILE_PP                                                               CONNECT_TIME                     DEFAULT
6 rows selected

3.采集最大连接数限制
上午9点多Kill掉了一些,没有重启oms,所以故障现象还在,持续增加中

RESOURCE_NAME                                                                    CURRENT_UTILIZATION MAX_UTILIZATION LIMIT_VALUE
-------------------------------------------------------------------------------- ------------------- --------------- --------------------
processes                                                                                       1096            3000       3000
sessions                                                                                        1119            3061       4528

4.查看连接来源

【复现路径】暂无
【附件及日志】
增量同步相关日志:
error.log (90.2 KB)
msgconnector_source_msg.log (50.7 KB)
msgmetrics.log (444.7 KB)
connector.log (2.8 KB)
@论坛小助手

你这个是企业版吧 企业版的话找企业的技术支持 开源社区不处理企业版的问题

了解,老师,我有关于社区版/企业版OMS问题咨询下,关于 jdbc:oracle:thin相关配置项,rewriteBatchedStatements=true&GetConnectionTimeout=20000&socketTimeout=50000&connectTimeout=30000&allowMultiQueries=true&useLocalSessionState=true,在我们数据迁移过程中,oracle是否有使用到这些参数项,并且这些参数项是否是有效的。

这个我也不清楚 最好是问企业版的技术支持的同学