在对oracle的表或者数据进行操作的时候,有时候oracle会报出ora-00054的错误,意思其实是,你所要操作的东西现在被锁住了,所以就要按照以下的方法去处理:
1、用dba权限的用户查看数据库都有哪些锁
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;
会得到以下格式这样的结果
testuser 339 13545 2009-3-5 17:40:05
其中sid是339 ,serial是13545 ,这两个值后面需要用到
2、根据sid查看具体的sql语句,如果sql不重要,可以kill
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=【1检索出来的sid】 order by piece;
会得到以下格式这样的结果
update ...............
这里面检索出来的结果应该是条sql,表示是那条sql把这个对象给锁住了。如果不是重要的sql,就执行第三部去kill掉
3、kill该事务
alter system kill session '【1检索出来的sid】 ,【1检索出来的serial】 ';
这样就可以杀掉这个锁了,接着执行你之前想要执行的语句就可以了。
相关推荐
- `java.sql.SQLException: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired`: 这表示尝试获取的资源已被其他会话占用。可以调整事务隔离级别或增加等待时间。 7. **游标问题** ...
Oracle数据库在处理并发事务时,可能会遇到`ORA-00054: resource busy and acquire with NOWAIT specified`错误,这通常表示一个会话正在尝试获取一个被其他事务占用的资源,而该请求又指定了不允许等待(NOWAIT)。...
本文将对部分ORA错误进行详细解读,并探讨这些错误可能出现的位置以及如何处理。 #### 错误出现位置 ORA错误信息通常会在以下几种场景中出现: - **SQL*Plus**: 当在SQL*Plus环境中执行SQL语句时出错。 - **PL/SQL ...
12. ORA-00052, ORA-00053, ORA-00054, ORA-00055, ORA-00056, ORA-00057: 锁定和资源冲突 这些错误表明资源被其他会话占用,可能需要手动解除锁定或优化事务处理。 13. ORA-00058, ORA-00059, ORA-00060: 数据库...
ORA-00054: 资源正忙,要求指定 NOWAIT ORA-00055: 超出 DML 锁的最大数 ORA-00056: 对象 '.' 上的 DDL 锁以不兼容模式挂起 ORA-00057: 超出临时表锁的最大数 ORA-00058: DB_BLOCK_SIZE 必须为才可安装此数据库 ...
##### ORA-00054: 资源正忙,要求指定NOWAIT - **描述**:尝试获取正忙的资源且未指定NOWAIT选项。 - **解决方法**: - 明确指定NOWAIT选项以避免等待。 - 考虑优化资源使用,减少竞争。 ##### ORA-00055: 超出...
在删除表空间时,可能会遇到ORA-00054错误,这意味着资源正被其他事务占用,无法立即删除。这通常涉及到锁定机制。 **解决资源繁忙问题:** 1. **查询锁定信息:** 使用具有DBA权限的用户,可以通过以下查询找出...
9. ORA-00054: 资源正忙,需要指定NOWAIT,意味着操作需要等待资源释放,可以考虑使用NOWAIT选项或调整事务管理。 10. ORA-00060, ORA-00061: 这些是死锁错误,通常需要通过死锁检测工具分析并解除死锁,或者优化...
28. ORA-00054: 资源正忙,要求指定NOWAIT,这表明你需要明确指示是否等待资源释放。 29. ORA-00055: 超出DML锁的最大数,数据库锁管理机制受限。 30. ORA-00056: 对象上的DDL锁以不兼容模式挂起,这可能是因为...
28. ORA-00054: 资源正忙,如果需要立即获取资源,可以使用NOWAIT选项。 29. ORA-00055: 超出DML锁的最大数量,数据库可能需要优化锁管理。 30. ORA-00056: 对象上的DDL锁处于不兼容模式,这可能涉及到并发的DDL...
例如,ORA-00054表示资源正忙,可能需要使用`NOWAIT`选项或等待资源释放。 10. ORA-00066至ORA-00074: 这些错误涉及到数据库参数的兼容性和配置问题,需要检查并调整相关参数设置。 11. ORA-00076至ORA-00082: 与...
例如,ORA-00031错误表示试图删除当前活动会话,而ORA-00054错误则表示资源正忙,需要等待或使用NOWAIT选项。 当遇到许可证问题,如ORA-00035错误,可能需要增加许可证或调整系统资源使用。而ORA-00060错误表示死锁...
在删除表空间时可能会遇到问题,比如描述中提及的"ora-00054: resource busy and acquire with nowait specified"错误,这意味着有活动的事务或锁定阻止了表空间的删除。要解决这个问题,需要找出并结束那些占用资源...
锁相关的错误,如ORA-00054(资源正忙,要求指定NOWAIT),涉及到并发控制,当尝试访问被其他会话锁定的对象时会出现。 数据库配置错误如ORA-00058(DB_BLOCK_SIZE必须为特定值),表明数据库的物理结构参数不正确...
- ORA-00054至00057: 这些错误与资源的忙碌状态和锁定机制有关,如要求立即释放资源(NOWAIT)或超过最大锁定数。 - ORA-00059至00061: 这些错误涉及数据库文件数量、DML_LOCKS的配置以及不兼容的锁定模式。 数据库...
21. ORA-00054: 资源正忙,要求指定 NOWAIT 请求的资源被其他事务锁定,需要等待或指定`NOWAIT`选项。 以上只是部分Oracle运行错误的简要解释,解决这些问题通常需要深入分析日志、检查数据库参数和资源限制,甚至...
28. **ORA-00054: 资源正忙,要求指定 NOWAIT:** 资源被其他会话占用,需要使用NOWAIT选项来避免等待。 29. **ORA-00055: 超出 DML 锁的最大数:** 达到DML(数据修改语言)锁的最大数量。 30. **ORA-00056: 对象 '...
27. **资源正忙,要求指定 NOWAIT (ORA-00054)**: 资源被其他事务占用,需等待或使用NOWAIT选项。 28. **超出 DML 锁的最大数 (ORA-00055)**: 达到DML(数据修改语言)锁的限制。 29. **对对象 '.' 上的 DDL 锁以...