oracle数据库用了定时器查询数据库,每一分钟查询一次,一段时间后导致数据库最大连接数太大

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库用了定时器查询数据库,每一分钟查询一次,一段时间后导致数据库最大连接数太大相关的知识,希望对你有一定的参考价值。

应该如何解决,已经增大过一次数据库的最大连接数了但是后台输出的信息显示,程序的最大连接数一直在增长,怎么办?

你每次查询都是新开一个连接吗?还是使用同一个连接?

如果每次都是新连接的话,那每次使用后,都要把对应的连接关闭掉。

同一个连接就没有关系了。追问

代码是这样的

追答

你这个明明就是不断的create的啊,肯定不行的,你看下哪里使用完了,就关闭释放掉吧

追问

那怎么释放掉呢?

追答

你看下你使用的库,既然有creat,肯定也有释放的。

参考技术A 是否使用了连接池?具体查看一下v$session看一下status 列是否都是active 参考技术B 每分钟查询一次,查询完成后没有退出吗?追问

代码是这样的

使用oracle,如何做到某个时间段内每间隔1分钟查询出一条记录?

表里面有时间列,每秒钟都有数据录入.
貌似没表达清楚...我的意思是取出来一个数据的集合,这个集合里面的数据是某个时间段里面的数据中的距离开始时间每间隔1分钟的那些记录

参考技术A oracle中date-date是一个浮点数,以日为单位吧 ,你拿差一分钟的两个date格式数据相减,然后使用数据循环加这个数值就可以了 总之
date+float=date
date-date=float
希望你能看懂
参考技术B 你先写一个存储过程 里面完成 时间段内每间隔1分钟查询出一条记录 的功能
然后再建立一个job 让他每分钟执行一次这个过程嘛追问

貌似没表达清楚...我的意思是取出来一个数据的集合,这个集合里面的数据是某个时间段里面的数据中的距离开始时间每间隔1分钟的那些记录

追答

select * from
where mod((时间列 - 开始时间) * 24 * 60,1) = 0 --整数分钟
and 时间列 >= 时间段开始时间
and 时间列 <=时间段结束时间

估计这个sql比较慢

本回答被提问者采纳
参考技术C 这个存储过程查询一条记录,再写个job每隔一分钟执行一次你写的存储过程追问

貌似没表达清楚...我的意思是取出来一个数据的集合,这个集合里面的数据是某个时间段里面的数据中的距离开始时间每间隔1分钟的那些记录

参考技术D dbms_lock.slee(60)

以上是关于oracle数据库用了定时器查询数据库,每一分钟查询一次,一段时间后导致数据库最大连接数太大的主要内容,如果未能解决你的问题,请参考以下文章

Oracle定时查询结果输出到指定的log文件

oracle查询每天两个时间点间的数据

oracle 物化视图 job

我想定时让 oracle 执行一段sql语句 怎么做

我要做一个java web的定时器,需要隔一分钟访问一次数据库,请问大神可以给个类似的Demo我吗?

oracle如何查询重复数据然后全部显示,举例:一份Excel中有100条数据,只有10条不同,我一个个