网站首页 > 技术文章 正文
【地震高岗,一派西山千古秀】
问题背景(由于公司保密条例不便切图)
开发阶段使用Oracle测试库,彼时数据量较少,根据ID获取列表功能没问题,暂时未发现BUG。但是当在灰度环境进行试运行时,伴随列表数据突增,出现错误“无法从套接字读取更多数据”;如下提示: Cause:java.sql.SQLRecoverableException:无法从套接字读取更多的数据
分析过程
- 这个错误信息告诉我们几点:不是JDBC或者oracle的问题,应该是通信异常
- 尝试用客户端工具Navicat访问后台的sql是可以查询的
- 使用代码程序查询就会出现题目中的问题,并且可复现几率很大
- 问题原因方向:驱动问题、sql子查询问题
解决方案
- 更新驱动版本,尝试重连后访问。(未解决)
- 对于sql语句进行拆分优化,子查询使用多个sql语句进行查询结果的代码处理(未解决)
思考
对于分析过程是没有问题的,方向也是对的,那么为什么根据步骤执行还是无法解决,我们当前访问数据库是甲方客户VPN连接后访问,中间会有代理跳转访问,正值过年期间机房几乎没人值守,会不会出现路由司机了,想到这里感觉脑洞大开了,灵机一动,如果切换为本地数据库连接是不是可以正常加载接口数据呢?说干就干,数据源切换,打包重启服务,点开列表页面,哦吼!完美! 那么最终的原因是否如我们猜想的那样呢,记住程序员第一要义:不明觉厉的代码肯定是有问题的。后来我从服务器撸下来oracle日志分析:如图明显看到了错误信息:ORA 07445,这是一个非常普通的错误,在oracle的代码中产生,这个错误代码需要更详细的描述信息进一步跟踪
最后查询资料简单的执行了以下命令就解决了,上菜:alter session set "_optimizer_connect_by_cost_based" = false scope=both; 事实证明在甲方客户那边数据库执行后也没有出现问题,到此结束。
【门朝大海,三河合水万年流】
猜你喜欢
- 2024-10-23 OGG同步到Kafka ogg kafka flink
- 2024-10-23 Oracle的TNS协议解析 oracle tns错误
- 2024-10-23 两种方式中断会话连接oracle oracle怎么中断查询
- 2024-10-23 常用SQL系列之(三):记录叠加、匹配、外连接及笛卡尔等
- 2024-10-23 Oracle交集(intersect),并集(union union all ),差集(minus)区别
- 2024-10-23 python3.13下使用数据库连接池 pymysql数据库连接池
- 2024-10-23 Oracle数据库-TNS连接 oracle 数据库tns配置
- 2024-10-23 oracle 如何将显示结果合并成一列
- 2024-10-23 oracle——xmlagg拼接大字段问题 oracle拼接字段展示
- 2024-10-23 Oracle数据库连接配置 oracle数据库连接配置查看
你 发表评论:
欢迎- 547℃Oracle分析函数之Lag和Lead()使用
- 544℃几个Oracle空值处理函数 oracle处理null值的函数
- 542℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 535℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 531℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 517℃【数据统计分析】详解Oracle分组函数之CUBE
- 505℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 493℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端排序 (47)
- 前端密码加密 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)