广告
返回顶部
首页 > 资讯 > 数据库 >oracle之 RA-00054: resource busy and acquire with NOWAIT
  • 164
分享到

oracle之 RA-00054: resource busy and acquire with NOWAIT

2024-04-02 19:04:59 164人浏览 薄情痞子
摘要

1、 truncate 表报 ORA-00054 ,标明有事务正在操作该表 sql> truncate table alldm.DM_XQKD_YUJING_D; truncate tabl

1、 truncate 表报 ORA-00054 ,标明有事务正在操作该表
sql> truncate table alldm.DM_XQKD_YUJING_D;
truncate table alldm.DM_XQKD_YUJING_D
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWaiT specified or timeout expired

2、 找到正在操作该表的session与sql
SQL> set linesize 400
SQL> set pagesize 400
SQL> col object_name for a40
SQL> select OWNER,OBJECT_NAME,OBJECT_ID from dba_objects where object_name='DM_XQKD_YUJING_D';

OWNER OBJECT_NAME OBJECT_ID
------------------------------ ---------------------------------------- ----------
ALLDM DM_XQKD_YUJING_D 7525915

SQL> select SESSION_ID,OBJECT_ID from v$locked_object where OBJECT_ID = '7525915';

SESSION_ID OBJECT_ID
---------- ----------
2226 7525915

SQL> set linesize 400
SQL> set pagesize 400
SQL> 
select sql_text from v$session a,v$sqltext_with_newlines b 
where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash_value 
and a.sid=&sid order by piece; 
Enter value for sid: 2226
old 3: and a.sid=&sid order by piece
new 3: and a.sid=2226 order by piece

SQL_TEXT
----------------------------------------------------------------
INSERT INTO DM_XQKD_YUJING_D SELECT :B2
, A.AREA_NO, A.CITY_NO, A.XIAOQU_NO PLOT_ID, A.XIAOQU_NAME PLOT

3、 找到该session的os进程
select a.username,
a.sid,
a.serial#,
b.spid "OS Process",
to_char(a.loGon_time,'DD/MM/YYYY hh34:mi:ss') "Logon time",
a.osuser,
a.program,
a.status
from v$session a, v$process b
where a.sid = &sid
and a.paddr = b.addr
/

USERNAME SID SERIAL# OS Process Logon time OSUSER PROGRAM STATUS
------------------------------ ---------- ---------- ------------------------ ------------------- ------------------------------ ------------------------------------------------ --------
ALLDM 2226 28311 76949 13/01/2018 06:04:24 bca JDBC Thin Client ACTIVE

4、 kill session
SQL> alter system kill session '2226,28311';
System altered.

5、 在os层面核实进程是否被kill
oracle@hbdw1:/oratmp$ps -ef | grep 76949
oracle 11057 116412 0 16:21 pts/2 00:00:00 grep 76949

6、 再次truncate成功
SQL> truncate table alldm.DM_XQKD_YUJING_D;
Table truncated.

您可能感兴趣的文档:

--结束END--

本文标题: oracle之 RA-00054: resource busy and acquire with NOWAIT

本文链接: https://www.lsjlt.com/news/46735.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作