2019独角兽企业重金招聘Python工程师标准>>>

为了将应用迁移到云上,搞了几个星期。

最后测试的时候发现连接oracle非常慢,我们用的是阿里的druid,应用如果 长时间不用,第一次连接时超时,第二次就非常快。开始以为是druid的问题,各种参数修改,都不起作用。

在调度机找到$JAVA_HOME/jre/lib/security/java.security,终于发现

直接修改 java.security文件

securerandom.source=file:/dev/urandom
修改成

securerandom.source=file:/dev/./urandom

修改后再次连接DB,正常了。

那究竟是什么原因导致jdk 的这个系统参数会引发问题呢?

  1. Jdk 连接oracle的时,从某个版本开始

The JDBC 11gneeds about 40 bytes of secure random numbers, gathered from /dev/random, toencrypt its connect string.

  1. linux有两种类型随机数发生器,一个是/dev/random,一个是/dev/urandom,urandom=unlocked random,即非阻塞随机。要产生真实的随机,linux是搜集真实的随机事件放到一个熵池里,当随机事件不足是,/dev/random会阻塞等到有随机事件产生才返回,而/dev/urandom则会重复利用以前的随机事件迅速返回。
  2. 那这里默认就是使用的/dev/urandom,为什么还是有问题呢?

因为这个版本的jdk,实际上在jdk代码里当匹配到/dev/urandom时实际上还是指向了/dev/random,于是大家就想到了一个变通办法采用/dev/./urandom,在linux系统中,加个点表示当前路径这个和之前一样,但是jdk代码却不不配,就绕过去了

网上参考文档:

https://www.jb51.net/article/117086.htm

https://blog.csdn.net/leochenx/article/details/72935095

转载于:https://my.oschina.net/zhsoft/blog/1833849

java 应用连接oracle 超级慢的解决方法相关推荐

  1. jmeter无法释放oracle连接,jmeter 连接ORACLE数据库错误及解决方法

    问题一: Response message: java.sql.SQLException: Cannot load JDBC driver class 'oracle.jdbc.driver.Orac ...

  2. django 连接oracle的坑和解决方法

    oracle11g客户端,cx-oracle6.1安装好之后报错: 1.oci.dll is not the correct architecture 原因是64位系统安装了32位的oracle11g ...

  3. java代码连接oracle数据库连接_在JAVA中连接Oracle数据库(例子)

    * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - java - 代码样式 - 代码模板 */ package person.fane.test; import java.sql ...

  4. asp.net应用程序无法连接oracle数据库,2020:ASP连接Oracle数据库问题的解决过程

    尽管2020了,但是需求无处不在,ASP连接Oracle数据库问题的解决过程: 注意,本文为梦回大唐版本,盗图严重,纰漏难免,欢迎举报. 一.环境 数据库端:Windows Server 2008 R ...

  5. ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法

    ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法(转载) 10小时前 ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法(转载) 分类: ASP.NET| ...

  6. oracle sga设置 256G,Oracle SGA大小的解决方法的调整

    以下的文章主要介绍的是调整Oracle SGA大小的解决方法,如果你是调整Oracle SGA大小的解决方法方面的新手,你就可以通过以下的文章对调整Oracle SGA大小的解决方法如何正确使用的详细 ...

  7. mysql第二天无法连接_MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:...

    http://zeusami.iteye.com/blog/1112827 MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.Commun ...

  8. oracle导入表无反应,EZDML无法导入oracle数据表的解决方法

    EZDML无法导入oracle数据表的解决方法 EZDML无法导入oracle数据表的解决方法 1.配置好oracle连接,进行导入数据表时报错:sql*net not properly instal ...

  9. SSH连接不上Linux的解决方法

    SSH连接不上Linux的解决方法: 连续弄了几次,今天早上终于把SSH连接虚拟机连接不通的问题解决了. 先简单说下概要: 主机装的是XP系统,虚拟机用的是red hat Linux. 我用的是nat ...

最新文章

  1. iOS开发-UITextField手机号和邮箱验证
  2. JStrom 入门(三) 上传jar文件并启动流程
  3. java实现分发_关于JAVA中事件分发和监听机制实现的代码实例
  4. C/Cpp / typeof、_typeof 和 _typeof_ 区别和联系
  5. [Swift]LeetCode551. 学生出勤纪录 I | Student Attendance Record I
  6. apache实验报告 linux_Linux实验报告
  7. 日志汇总:logging、logger
  8. git添加多远端服务器并且实现push代码
  9. java中类加载器ClassLoader,双亲加载机制,启动类加载器,应用类加载器,线程上下文类加载器
  10. 在Ubuntu Kylin 优麒麟系统中安装 Etcher镜像烧录软件
  11. Bondareva-Shapley 定理
  12. Spring boot 集成 Redis Scarch
  13. android studio anr,Android ANR 分析
  14. Python学习笔记——工欲善其事,必先利其器
  15. jsp:include和%@include file=%有什么区别
  16. 【解决电脑】开机屏幕左键无反应,右键变加载;选择文件夹未响应,卡顿40秒后恢复;新建文件夹正常,删除移动卡顿
  17. 单片机驱动LM75采集温度
  18. 【detectron】对输入样本如何产生anchor
  19. nii数据的各种处理详解
  20. 原创 PDF 电子书 V4.0,限时免费下载!

热门文章

  1. 高效搭建Storm全然分布式集群
  2. android aidl接口初步了解
  3. ie下面出现Notice: Undefined index: HTTP_REFERER 的解决办法
  4. 概要设计阶段--组装测试计划
  5. Thinkphp5创建控制器
  6. lamp平台的搭建:mysql的编译安装【转】
  7. MongoDB整理笔记の管理Replica Sets
  8. myclipse 项目struts 2 版本升级过程
  9. 【Git入门之一】Git是神马?
  10. opencms常用标签