解决线上Oracle连接耗时过长的问题现象
问题现象
1、远程Oracle数据库通过IP:PORT/SERVICE_NAME连接
2、应用服务通过Docker容器部署,访问Oracle联通性测试接口,需要50s左右才能返回连接成功;
3、写了个JDBC测试程序,放在宿主机进行JDBC连接Oracle数据库测试,发现连接耗时不稳定,时快时慢,下图为宿主机连接数据库耗时截图;
4、通过Windows运维机器安装Navicat客户端,连接目标Oracle数据库,连接速度很快;
5、Linux宿主机安装SQLPLUS客户端,连接目标Oracle数据库,连接速度很快;
初步排查
看了很多技术博客,基本都是将file:/dev/random修改为file:/dev/urandom、file:/dev/./urandom、file:/dev/../dev/urandom等,实测无效,可能碰到的不是一个问题
问题定位
排查到DNS时,发现宿主机DNS配置清空后,通过JDBC连接目标Oracle数据库速度很快
进入容器中进行测试,发现清空DNS配置后连接速度也很快了,至此问题解决
清空DNS配置命令:echo >/etc/resolv.conf
到此这篇关于记一次线上Oracle连接耗时过长的问题的文章就介绍到这了,更多相关Oracle连接耗时过长内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Oracle数据库游标连接超出解决方案
oracle数据库忽然连不上了,一查是游标数量超了. 1.查看游标数 show parameter open_cursors 2.修改游标数 alter system set open_cursors = 10000; 3.获取打开的游标数 select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$session s where user_name = 'AF651_U8' and o.sid = s.sid
-
Oracle JDBC连接BUG解决方案
前两天接到一个工作,某网站无法访问了,重启后也一直挂在哪里,起不来. 我刚开始怀疑是程序配置问题,后来发现,只要初始化Spring内容服务就起不来.看了一下spring配置文件里面配置了两个数据源,都是由tomcat管理的jndi数据源.查看了一下发现有一个数据源有问题,使用小程序测试,发现无法连接该数据库,同时也发现一个问题,程序一直挂在哪里,是否能连接却不再返回结果. 网上也有人遇到过这类问题,看来都没有很好的解决方案,当然,我也没有. 我现在只是说明一下问题,并复现一下场景. 你可以使用附
-
解决线上Oracle连接耗时过长的问题现象
问题现象 1.远程Oracle数据库通过IP:PORT/SERVICE_NAME连接 2.应用服务通过Docker容器部署,访问Oracle联通性测试接口,需要50s左右才能返回连接成功: 3.写了个JDBC测试程序,放在宿主机进行JDBC连接Oracle数据库测试,发现连接耗时不稳定,时快时慢,下图为宿主机连接数据库耗时截图: 4.通过Windows运维机器安装Navicat客户端,连接目标Oracle数据库,连接速度很快: 5.Linux宿主机安装SQLPLUS客户端,连接目标Oracle数
-
vue3 keepalive源码解析解决线上问题
目录 引言 1.keepalive功能 2.keepalive使用场景 3.在项目中的使用过程 4.vue3 keepalive源码调试 5.vue3 keealive源码粗浅分析 6.总结 引言 1.通过本文可以了解到vue3 keepalive功能 2.通过本文可以了解到vue3 keepalive使用场景 3.通过本文可以学习到vue3 keepalive真实的使用过程 4.通过本文可以学习vue3 keepalive源码调试 5.通过本文可以学习到vue3 keepalive源码的精简分
-
Java线上问题排查神器Arthas实战原理解析
概述 背景 是不是在实际开发工作当中经常碰到自己写的代码在开发.测试环境行云流水稳得一笔,可一到线上就经常不是缺这个就是少那个反正就是一顿报错抽风似的,线上调试代码又很麻烦,让人头疼得抓狂:而且debug不一定是最高效的方法,遇到线上问题不能debug了怎么办.原先我们Java中我们常用分析问题一般是使用JDK自带或第三方的分析工具如jstat.jmap.jstack. jconsole.visualvm.Java Mission Control.MAT等.但此刻的你没有看错,还有一款神器Art
-
阿里Druid数据连接池引发的线上异常解决
目录 前言 过程一:定位工作流 过程二:定位JPA的OpenEntityManagerInViewInterceptor 过程三:定位Druid,真正的罪魁祸首 后记: 前言 事件起因:项目使用了activiti工作流,系统是由老的spring mvc项目改造成的spring boot项目,数据库链接池从dbcp切换到druid,新系统上线后,同事多次系统隔一段时间后数据查询就很慢,基本出不来. 由此开始了线上bug排查之路.这个问题从一开始就模糊定位到数据库层面的问题,因为只有和数据相关的操作
-
解决Navicat Premium 12连接Oracle时提示oracle library is not loaded的问题
笔者使用的Navicat Premium 12启动界面截屏: 请注意是64位的.笔者win7 64位系统. 连接Oracle时提示"oracle library is not loaded". 解决方法: 1.前往"http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html" 2.选择与自己系统匹配的"Instant
-
解决AjaxFileupload 上传时会出现连接重置的问题
1.ajaxfileupload 上传时会出现如下问题: 2. 网上有很多的解决办法,在这里,我又发现了一种,可能你的错误会是这个原因引起的 ------原因是 : 你在一般处理程序中没有返回前台需要的数据格式字符串 3.下面给出一个例子: 前台: <style type="text/css"> .fileLink{position: relative;display: inline-block;background: #fff;border: 1px solid #098
-
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
vue-quill-editor是个较为轻量级富文本框,相较于ueditor,开发更编辑,更加直观,如果大家伙在需求允许的情况下,还是会比较建议使用vue-quill-editor. vue-quill-editor的使用方法在这边就不多说了,大家网上查下,一抓一大把 但是在使用vue-quill-editor有一个致命的问题,vue-quill-editor默认插入图片是直接将图片转为base64再放入内容中,如果图片比较大的话,富文本的内容就会很大,即使图片不大,只要图片较为多,篇幅较长,富
-
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
一.vue中解决chrome浏览器自动播放音频 需求 有新订单的时候,页面自动语音提示和弹出提示框: 问题 chrome浏览器在18年4月起,就在桌面浏览器全面禁止了音视频的自动播放功能.严格地来说,是Chrome不允许在用户对网页进行触发之前播放音频.不光是这样,在页面加载完毕的情况下,用户没有click.dbclick.touch等主动交互行为,使用js直接调用.play() 方法的话,chrome都会抛出如下错误:Uncaught (in promise) DOMException: 解决
-
关于vue3 解决getCurrentInstance 打包后线上环境报错问题
getCurrentInstance getCurrentInstance 支持访问内部组件实例. WARNING getCurrentInstance 只暴露给高阶使用场景,典型的比如在库中.强烈反对在应用的代码中使用 getCurrentInstance.请不要把它当作在组合式 API 中获取 this 的替代方案来使用. import { getCurrentInstance } from 'vue' const MyComponent = { setup() { const intern
-
Moment的feature导致线上bug解决分析
目录 bug的出现 bug排查 bug的根因 解决方案 bug的出现 这一天,本来是平平淡淡的一天,我正准备一如既往的到点下班,结果qa说线上出了个匪夷所思的bug. 表象为:用户在日期选择器选择了1964-01-01之后,自动变成了1963-12-31 我心里想:这是什么神奇bug,于是我又尝试了一下选择1964-01-02.1963-12-31.1965-01-01.1963-01-01,结果都正常,那么到底是为什么会引发这个bug呢? bug排查 由于后端把时间.日期类的字段都定义为了时间
随机推荐
- 集合类Array List HashTable实例操作练习
- 使用DataAdapter填充多个表(利用DataRelation)的实例代码
- 正则表达式(regex)入门、元字符(特殊字符)学习与提高
- SWT(JFace)体验之Slider,Scale
- js绘制圆形和矩形的方法
- lua中使用毫秒精度时间的方法
- java编写的简单移动方块小游戏代码
- iOS实现自定义起始时间选择器视图
- struts2.3.24+spring4.1.6+hibernate4.3.11+mysql5.5.25开发环境搭建图文教程
- 显示非站点目录及映射网络磁盘路径的图片
- document.selection.createRange方法与实例
- 浅谈C++ Socket编程
- JavaScript中的Math.E属性使用详解
- MySQL中的基本查询语句学习笔记
- JavaScript隐式类型转换
- wxpython中利用线程防止假死的实现方法
- Android实现ListView左右滑动删除和编辑
- Android获取高清app图标代码分享
- Javascript获取当前日期的农历日期代码
- Discuz! 6.1_jQuery兼容问题