kettle8.3 Oracle连接运行一段时间后:Socket read timed out

前言

一段SQL在Oracle连接运行大约需要450s。因为业务需要我得运行18次,之前使用kettle8.3默认连接池的方法发现只能运行到一半然后就报错:Socket read timed out。网上的大多不清不楚

解决办法

数据库连接-选项里添加

bash 复制代码
useSSL:true
useCompression:true
rewriteBatchedStatements:true
characterEncoding:utf8
useServerPrepStmts:false
socketTimeout:800000
connectTimeout:800000
ConnectionLifetime:3600000

后三项为主要参数,注socketTimeoutconnectTimeout 参数来设置超时时间。为了适应 450 秒的查询时间,可以将超时时间设置为稍大于 450 秒,这里的 800000 表示 800 秒,单位是毫秒。

数据库连接-连接池 里添加
勾选 使用连接池,除下面用到的其他默认就行

bash 复制代码
初始大小:8;最大空闲空间:20
Initial Size: 5
Max Active Connections: 50
Max Idle Connections: 20
Min Idle Connections: 5
Max Wait Time: 600000 (10分钟)
Connection Lifetime: 3600000 (1小时)
Validation Query: SELECT 1 FROM DUAL

结尾

接下来持续监控性能和日志,关注网络状况和服务器负载,应该能够解决由于超时导致的问题了。

相关推荐
岁岁种桃花儿14 小时前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
蜜獾云15 小时前
oracle查询所有的表名和注释
oracle
jiunian_cn15 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
冉冰学姐16 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
知识分享小能手17 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
爬山算法17 小时前
Hibernate(84)如何在DevOps流程中使用Hibernate?
oracle·hibernate·devops
踩坑小念18 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶18 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql
Wiktok19 小时前
MySQL的常用数据类型
数据库·mysql
曹牧19 小时前
Oracle 表闪回(Flashback Table)
数据库·oracle