本发明涉及计算机技术领域,具体提供一种Oracle的pl/sql客户端请求超时未响应的解决方法及装置。

背景技术:

随着信息技术的发展,Oracle数据库技术越来越广泛地推广应用到各个领域。当pl/sql执行Oracle数据库语句或者脚本时,会出现请求超时未响应的情况,现有技术中,出现这种情况后的解决方式为:一、等待其响应;二、强行关闭pl/sql,pl/sql会在临时目录下生成保留当前窗口的打开状态的文件,下次启动pl/sql时会显示待恢复的窗口,这个文件存放在TEMP/PLS-Recovery。但是等待其响应的情况下,需要时间不定,用户可能没有耐心。直接关闭的情况下,通过恢复文件来回到之前的工作,往往会遗漏部分写好的脚本。这两种情况都会影响使用人员的工作状态,降低工作效率。

通过wireshark工具进行抓包对比连接不同Oracle数据库时数据包的返回状况,发现连接Oracle数据库的数据包总会发生重传数据包、数据包获取异常现象,并且数据传输异常后会导致pl/sql无法响应,分析很大原因是pl/sql连接数据库的网络问题,但是目前没有非常好的对网络问题的处理机制。

技术实现要素:

本发明的技术任务是针对上述存在的问题,提供一种能够使使用人员对发生未响应的原因进行判断,从而降低发生超时未响应的几率,提高工作效率的Oracle的pl/sql客户端请求超时未响应的解决方法。

本发明进一步的技术任务是提供一种Oracle的pl/sql客户端请求超时未响应的解决装置。

为实现上述目的,本发明提供了如下技术方案:

一种Oracle的pl/sql客户端请求超时未响应的解决方法,所述解决方法在pl/sql连接Oracle数据库后,通过内置脚本获取网络的性能指标,并显示当前的网络传输速度,当网络吞吐量小于阀值时,对当前正在执行的Oracle语句进行保存,当pl/sql客户端未响应时,直接调取执行日志,返回当前执行的Oracle语句的上一个状态。

所述脚本为现有技术中任意一种可检测网速的脚本。

所述阀值为100 ms。当网络吞吐量小于阀值时,对当前正在执行的Oracle语句进行保存,防止出现未响应强行关闭后,导致部分Oracle语句丢失的情况。提高了工作的效率,使用人员还可以对发生的原因进行判断,降低发生超时未响应的几率。

作为优选,所述解决方法具体包括以下步骤:

S1:pl/sql连接Oracle数据库执行语句;

S2:对当前网络传输速度进行判断,若网络吞吐量小于阀值,执行步骤S3,否则执行步骤S4;

S3:保存当前正在执行的Oracle语句;

S4:继续执行;

S5:pl/sql客户端未响应时,返回上一个执行的Oracle语句。

作为优选,步骤S2中,通过内置脚本获取网络的性能指标,对当前网络传输速度进行判断。

作为优选,步骤S4继续执行过程中,pl/sql客户端计算执行表的大小,计算所需要的时间,显示所需时间,防止执行表过大,计算量过大,长时间执行导致的pl/sql客户端未响应。

作为优选,步骤S5中pl/sql客户端未响应时,直接调取保存的执行日志,返回上一个执行的Oracle语句。

Oracle的pl/sql客户端请求超时未响应的解决装置,该装置包括:

连接模块:用于pl/sql客户端连接Oracle数据库执行语句;

判断模块:用于判断当前网络传输速度;

比较模块:用于将当前网络传输速度与阀值作比较;

保存模块:用于保存当前正在执行的Oracle语句;

返回模块:用于在pl/sql客户端未响应时,返回上一个执行的Oracle语句。

作为优选,所述判断模块,通过内置脚本获取网络的性能指标,对当前网络传输速度进行判断。

作为优选,所述保存模块保存当前正在执行的Oracle语句,继续执行过程中,pl/sql客户端计算执行表的大小,计算所需要的时间,显示所需时间,防止执行表过大,计算量过大,长时间执行导致的pl/sql未响应。

作为优选,所述返回模块直接调取保存的执行日志,返回上一个执行的Oracle语句。

与现有技术相比,本发明的Oracle的pl/sql客户端请求超时未响应的解决方法具有以下突出的有益效果:所述Oracle的pl/sql客户端请求超时未响应的解决方法,可以让使用者实时的了解是否会发生请求超时未响应,并且可以判断发生超时未响应的原因,当发生超时未响应时,可以从保存的执行日志中恢复到上一个执行的Oracle语句,防止通过强行关闭来重新启动客户端,影响使用人员的工作状态的情况,从而提高工作效率,具有良好的推广应用价值。

附图说明

图1是本发明所述Oracle的pl/sql客户端请求超时未响应的解决方法的流程图;

图2是本发明所述Oracle的pl/sql客户端请求超时未响应的解决装置的示意图。

具体实施方式

下面将结合附图和实施例,对本发明的Oracle的pl/sql客户端请求超时未响应的解决方法及装置作进一步详细说明。

实施例

如图1所示,本发明的Oracle的pl/sql客户端请求超时未响应的解决方法,在pl/sql连接Oracle数据库后,通过内置脚本获取网络的性能指标,并显示当前的网络传输速度,当网络吞吐量小于阀值时,对当前正在执行的Oracle语句进行保存,当pl/sql未响应时,直接调取执行日志,返回当前执行Oracle语句的上一个状态。

该Oracle的pl/sql客户端请求超时未响应的解决方法具体包括以下步骤:

S1:pl/sql连接Oracle数据库执行语句。

S2:对当前网络传输速度进行判断,若网络吞吐量小于阀值,执行步骤S3,否则执行步骤S4。

通过内置脚本获取网络的性能指标,对当前网络传输速度进行判断。

S3:保存当前正在执行的Oracle语句。

S4:继续执行。

继续执行过程中,pl/sql客户端计算执行表的大小,计算所需要的时间,显示所需时间,防止执行表过大,计算量过大,长时间执行导致的pl/sql客户端未响应。

S5:pl/sql客户端未响应时,返回上一个执行的Oracle语句。

pl/sql客户端未响应时,直接调取保存的执行日志,返回上一个执行的Oracle语句。

如图2所示,本发明的Oracle的pl/sql客户端请求超时未响应的解决装置,该装置包括:

连接模块:用于pl/sql客户端连接数据库执行语句。

判断模块:用于判断当前网络传输速度。通过内置脚本获取网络的性能指标,对当前网络传输速度进行判断。

比较模块:用于将当前网络传输速度与阀值作比较。

保存模块:用于保存当前正在执行的Oracle语句,继续执行过程中,pl/sql客户端计算执行表的大小,计算所需要的时间,显示所需时间,防止执行表过大,计算量过大,长时间执行导致的pl/sql未响应。

返回模块:用于在pl/sql客户端未响应时,返回上一个执行的Oracle语句。

返回模块直接调取保存的执行日志,返回上一个执行的Oracle语句。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

oracle连接长时间未响应,Oracle的pl/sql客户端请求超时未响应的解决方法及装置与流程...相关推荐

  1. SQL SERVER 2008不能修改表的解决方法(增加字段、修改字段名)(未解决)

    SQL SERVER 2008不能修改表的解决方法(增加字段.修改字段名)(未解决) 参考文章: (1)SQL SERVER 2008不能修改表的解决方法(增加字段.修改字段名)(未解决) (2)ht ...

  2. 从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果

    From: http://www.cnblogs.com/EricaMIN1987_IT/p/3654233.html wget.js:发送HTTP客户端请求并显示响应的各种结果 options对象描 ...

  3. oracle插入java时间,java向oracle中插入字符或时间型 时间数据

    /** * * @param date * @param bool true:插入时间类型,false:插入字符类型 * 向oracle中插入时间类型数据 * @return */ public st ...

  4. oracle不连续得时间如何分组,Oracle按不同时间分组统计的sql

    Oracle按不同时间分组统计的sql以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle按不同时间分组统计的s ...

  5. oracle像个时间相减,Oracle 时间相减

    --天 select (sysdate - to_date('2012-08-27 16:03:00', 'yyyy-mm-dd hh24:mi:ss')) from dual; --时 select ...

  6. oracle中的时间比较大小,Oracle 时间比较

    Oracle 时间比较 在Web开发中,从页面注入的时间一般为String类型,怎么去和Oracle中的时间进行比较 方法: String Time: .......// 一段代码 假设Time为页面 ...

  7. oracle等待资源时间加长,案例:Oracle等待事件latch: cache buffers chains故障优化处理总结...

    天萃荷净 数据库的CPU使用率为100%,应用相应迟缓.查看AWR中数据库的latch:cache buffers chains等待较多 当一个数据块读入sga区,相应的buffer header会被 ...

  8. Oracle学习笔记(最重要的是PL/SQL编程)

    一:Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1) sys用户是超级用户,具有最高权限,具有sysdba角色,有create databa ...

  9. oracle 找不到程序单元,Oracle Web ADI 加载时错误:ORA-06508: PL/SQL: 无法在调用之前找到程序单元...

    Oracle EBS 的Web ADI给批量导入数据提供一个不错的解决方案.但是,Web ADI开发比较麻,主要缺点如: 1.集成器设置好以后不能修改,必须要事先考虑包的存储过程或函数的参数.则否,存 ...

最新文章

  1. WinForm打包或部署
  2. 在Openstack上部署compute节点上时,开启服务openstack-nova-compute.service无法启动的解决方法
  3. ODPS主备集群双向数据复制导致主备中心网络打爆问题
  4. rxjs里mapTo operators的用法
  5. 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(八) MiniGUI 和其他嵌入式 Linux 上的图形及图形用户界面系统...
  6. win10+Ubuntu16.04 LTS双系统完美教程
  7. python教程百度云盘-Python 模拟登陆百度云盘实战教程
  8. matlab图片插值数据_Matlab中的插值函数
  9. ant design + react带有二级导航菜单自动生成
  10. QGIS中WKT转为可视化涂层
  11. 接着,运营基础知识(福利篇)
  12. 机器学习知识点全面总结
  13. python可以取代excel吗_python能彻底取代excel吗?
  14. iOS静态库中打包图片资源
  15. 模拟电路--一种电荷放大器的设计
  16. iOS黑客Luca Todesco演示iOS 10 beta 8越狱
  17. js实现在可视区内,文字图片动画效果
  18. ARouter原理解析
  19. python-docx删除段落(含回车符)v202111221750
  20. 学习太极创客 — MQTT 第二章(三)保留消息

热门文章

  1. 榕树贷款索引优劣势,索引分类和建索引命令
  2. 三星s20 android auto,Automagic一个更简单的方式来自动化您的Android手机 | MOS86
  3. 祭奠我那失去的青春--故游柞水(二、故地重游)
  4. Python Selenium.WebDriver 判断元素是否存在
  5. Lightbox相册,图片滚动和点击放大
  6. 接口测试HTTP协议详解请求篇
  7. Note Express 使用标签 删除标签 操作标签
  8. java byte 字面量_Java中的字面量
  9. week4-Histogram Equalization数字图像处理(DIP)
  10. NR: BWP简介1