java.sql.SQLTimeoutException: ORA-01013: 用户请求取消当前的操作

简介: java.sql.SQLTimeoutException: ORA-01013: 用户请求取消当前的操作

 问题背景:

在应用中配置了第三方数据源,启动时未报错。但是当使用应用中的数据集管理功能去加载配置的第三方数据源的所有视图时,一直报如下错误:

2022-08-12 09:57:44 ERROR DruidDataSource: create connection SQLException, url: jdbc:oracle:thin:@10.254.100.115:1521:ORCL, errorCode 1013, state 72000
java.sql.SQLTimeoutException: ORA-01013: 用户请求取消当前的操作
ORA-06512: 在 "SYS.XMLTYPE", line 272
ORA-06512: 在 line 1
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:229) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:41) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:765) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:983) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1362) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:369) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0]
  at com.alibaba.druid.pool.vendor.OracleValidConnectionChecker.isValidConnection(OracleValidConnectionChecker.java:84) ~[druid-1.2.6.jar:1.2.6]
  at com.alibaba.druid.pool.DruidAbstractDataSource.validateConnection(DruidAbstractDataSource.java:1398) ~[druid-1.2.6.jar:1.2.6]
  at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1733) ~[druid-1.2.6.jar:1.2.6]
  at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2801) [druid-1.2.6.jar:1.2.6]

image.gif

解决过程:

1. 在网上百度了此问题的解决方案。

一种说是此问题可能是数据库有事务未提交,导致锁表,sql语句执行超时。 使用语句查询了之后,未发现有锁表。

2. 看到报错中有SYS.XMLTYPE,推测可能是第三方提供的用户权限不够,查了用户的权限,发现用户的权限还挺大。

3. 再仔细阅读报错信息,发现是创建链接时的校验报错了。

image.gif编辑

再回想起自己在数据库连接中的校验相关信息配置的是一个视图,于是改成一张物理表,重启服务,问题解决。

image.gif编辑


目录
相关文章
|
29天前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
84 25
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
|
19天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
46 6
|
5月前
|
Java
Java aop 如何获取请求头里的token
【8月更文挑战第13天】Java aop 如何获取请求头里的token
187 0
|
3月前
|
JSON Java 数据格式
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
java操作http请求针对不同提交方式(application/json和application/x-www-form-urlencoded)
155 1
|
4月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
171 2
|
3月前
|
小程序 Java
小程序通过get请求提交数据到java后台
小程序通过get请求提交数据到java后台
35 0
|
5月前
|
SQL JSON Go
Go - 基于 GORM 获取当前请求所执行的 SQL 信息
Go - 基于 GORM 获取当前请求所执行的 SQL 信息
80 3
|
6月前
|
存储 Java 索引
Java ArrayList操作指南:如何移除并返回第一个元素
通过上述方法,你可以方便地从Java的 `ArrayList` 中移除并返回第一个元素。这种操作在日常编程中非常常见,是处理列表时的基本技能之一。希望这篇指南能帮助你更好地理解和运用Java的 `ArrayList`。
65 4
|
5月前
|
SQL 流计算
慢sql治理问题之下游 Task 频繁请求 JobMaster 导致 RPC 超时的问题你们是如何解决的
慢sql治理问题之下游 Task 频繁请求 JobMaster 导致 RPC 超时的问题你们是如何解决的
|
5月前
|
数据采集 人工智能 监控
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集
【Azure 应用程序见解】Application Insights Java Agent 3.1.0的使用实验,通过修改单个URL的采样率来减少请求及依赖项的数据采集