首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-00054:资源繁忙,获取时未指定等待或超时已过期,异常为java.sql.SQLException

ORA-00054:资源繁忙,获取时未指定等待或超时已过期,异常为java.sql.SQLException
EN

Stack Overflow用户
提问于 2017-10-05 11:16:27
回答 1查看 4.3K关注 0票数 1
代码语言:javascript
复制
jdbcTemplate.execute("alter table UKIADATA rename to UKIADATA_temp");

jdbcTemplate.execute("alter table UKIADATA_2 rename to UKIADATA");

jdbcTemplate.execute("alter table UKIADATA_temp rename to UKIADATA_2");

logger.info("Tables swapped.");

我收到错误SQL alter table UKIADATA重命名为UKIADATA_temp;ORA-00054:指定了NOWAIT或超时过期的资源忙和获取;嵌套异常是java.sql.SQLException: ORA-00054:指定了NOWAIT或超时过期的资源忙和获取,

除此之外,您可以帮助我如何在这段代码中插入提交语句。

EN

回答 1

Stack Overflow用户

发布于 2017-10-05 11:30:39

此时,您正在尝试重命名的表正被另一个会话占用(读取、插入数据、更新、删除)。为了使您的请求运行时不出现此错误,您必须关闭其他会话或停止访问此表。DDL操作不需要修复,它们只需要修复insert、update、delete命令。任何DDL命令也会在开始工作之前提交数据。此SQL将确定哪些会话正在阻塞该表。下面的SQL语句将强制终止这些会话。

代码语言:javascript
复制
select s.sid, s.serial#
from v$locked_object l, dba_objects o, v$session s
where  o.object_name in('UKIADATA','UKIADATA_2')  and 
l.object_id = o.object_id and l.session_id = s.sid 

alter system kill session 'sid,serial#'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46577299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档