ORA-00054

问题

环境:RAC 11.2.0.4 主库

业务批处理任务中,归档数据表报错。

00054, 00000, "resource busy and acquire with NOWAIT specified or timeout expired"
// *Cause:  Interested resource is busy.
// *Action: Retry if necessary or increase timeout.

原因

ora-00054是执行ddl操作时比较常见的错误,其主要原因就是无法获得TM lock。drop table、truncate table要获得独占的exclusive意向锁,只要表格中存在任何形态的TM lock,操作就无法满足,就会报告ora-00054错误。

解决方案

select * from v$lock where type='TM';

select owner,object_name from dba_objects where object_id in(id1);

在这里插入图片描述

查找会话并kill掉

模拟报错

create table test as select * from dba_objects;
delete from test where rownum < 2;
--select sid from v$mystat where rownum=1;
select userenv('sid') from dual;

在这里插入图片描述

select * from v$lock where sid=50;

在这里插入图片描述
会话2

truncate table test;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值