MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

oracle数据库常见问题之ORA-00054:资源正忙,要求指定NOWAIT

2024-11-26 17:14 huorong 数据库 6 ℃ 0 评论

文章标题1.0版

如何解决ORA-00054资源正忙,要求指定NOWAIT?

背景:使用PLSQL时有时会出现报错:ORA-00054: 资源正忙,以下提供解决办法

1. 创建索引时失败报错

create index sa.idx_test_1_id on sa.test_1 (id);

NOWAIT :关键字表示sql语句采用非阻塞的方式,如果发现涉及到的数据被占有(被锁),则立即通知Oracle该资源被占用,返回错误信息

2. 找出占用资源的会话,并删除

2.1:找出所有被锁的对象,定位出哪个会话占用

select l.session_id,o.owner,o.object_name

from v$locked_object l,dba_objects o

where l.object_id=o.object_id

结果:

对比想要创建的索引,定位哪些会话需要被删除

2.2:找出所有锁定的会话

select t2.username,t2.sid,t2.serial#,t2.logon_time

from v$locked_object t1,v$session t2

where t1.session_id=t2.sid order by t2.logon_time;

结果:

3. 从系统中灭掉与会话对应的进程

kill -9 spid; --spid为第一步中查出来的系统进程号

PAGE

北京希嘉创智教育科技有限公司1/2

Tags:oracle 删除 表

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言