`

ORA-00054 的解决方法

 
阅读更多

系统有一个不用的索引,想删除这个索引,

SQL> drop index GPSTIME_GLOBAL_INDEX
drop index GPSTIME_GLOBAL_INDEX
ORA-00054: resource busy and acquire with NOWAIT specified

 

现现这个问题的原因是正在执行的操作请求的资源正被其他事务锁定。

 

出现这种问题后查V$LOCKED_OBJECT,要么等事务结束后再做,要么杀掉持有锁的会话(如果不是关键会话):

1.通过上句查找出已被锁定的数据库表及相关的sid、serial#及spid
select object_name as 对象名称,s.sid,s.serial#,p.spid as 系统进程号
from v$locked_object l , dba_objects o , v$session s , v$process p
where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;

2.在数据库中灭掉相关session
alter system kill session 'sid,serial#';--sid及serial#为第一步查出来的数据。

 

 

--关于DB2死锁的解决方法

db2 命令行,1、用管理员用户登录:db2 connect to 你的数据库名 user 用户名 using 密码

2、db2 "get snapshot for locks on 数据库名"

-------上面语句执行完成以后,你可以找到下面一段文字

应用程序句柄                               = 689
应用程序标识                        = *LOCAL.DB2.120711101108
序号                                = 00001
应用程序名                          = javaw.exe
CONNECT 授权标识                           = DB2ADMIN
应用程序状态                        = UOW 正在等待


3、db2 "force application(689)"   689就是上面查询出来的应用程序句柄
杀掉死锁进程

 

--第二种解决方法

http://www.chinaunix.net/old_jh/22/20020.html

 

 

 

 

分享到:
评论

相关推荐

    oracle ora-00054:resource busy and acquire with nowait specified解决方法

    本文将深入探讨这个错误的含义、原因以及解决方法。 1. 错误解析: `ORA-00054`错误表明当前事务试图立即获取一个已被其他事务锁定的资源,但没有成功,因为其他事务尚未释放该资源。这可能发生在并发操作中,比如...

    oracle报错大全(珍藏版)

    #### ORA-00054: Resource Not Acquired When Waited 在等待时未能获得资源。这可能是因为资源被其他用户占用或并发控制机制的问题。 #### ORA-00055: Data Manipulation Language (DML) Operations 执行DML操作时...

    Oracle强制释放锁的命令

    解决 ORA-00054 错误的方法是释放锁资源,可以使用强制释放锁的命令来释放锁资源。这里需要注意的是,释放锁资源可能会对数据库的性能产生影响,因此需要谨慎地使用强制释放锁的命令。 四、强制释放锁的命令 强制...

    oracle常见错误及解决方法

    12. ORA-00052, ORA-00053, ORA-00054, ORA-00055, ORA-00056, ORA-00057: 锁定和资源冲突 这些错误表明资源被其他会话占用,可能需要手动解除锁定或优化事务处理。 13. ORA-00058, ORA-00059, ORA-00060: 数据库...

    ORACLE ORA错误大全

    这和ORA-00054类似,都是指死锁情况,解决方法也相同。 10. **ORA-00074: missing clause** - 指SQL语句中缺少必要的子句。例如,在`SELECT`语句中忘记了指定`FROM`子句。确保SQL语句完整无误是解决此类问题的关键...

    Oracle error code 大全

    Oracle 错误代码大全是 Oracle 数据库管理系统中的一组错误代码,用于描述各种 Oracle 错误的原因和解决方法。这些错误代码涵盖了 Oracle 数据库管理系统的各个方面,包括会话管理、进程管理、内存管理、锁定管理、...

    Oracle错误代码大全.docx

    在 Oracle 错误代码大全中,错误代码被分为多个类别,每个类别都有其特定的错误代码和解决方法。下面是 Oracle 错误代码大全中的一些常见错误代码: 会话管理错误 ORA-00001: 违反唯一约束条件 ORA-00022: 无效的...

    oracle 错误一览表

    - **解决方法**:确保数据不违反任何唯一性约束,或者修改约束以适应数据。 #### ORA-00017: Rollback requested - **描述**:系统或用户请求了一个回滚操作。 - **解决方法**:检查触发回滚的原因,并根据具体情况...

    oracle错误一览表

    - **解决方法**: 检查所涉及的数据行,确保其不违反任何唯一性约束。可以考虑使用`ALTER TABLE`语句来修改约束定义或者直接删除导致冲突的记录。 **ORA-00017: 请求会话以设置跟踪事件** - **描述**: 当需要对某个...

    Oracle错误代码大全

    - **解决方法**: - 检查数据是否符合表结构中的唯一性约束。 - 如果是更新操作,请确认更新不会导致两个相同的值出现在同一列中。 - 若是插入操作,确保插入的数据没有与现有记录冲突。 #### ORA-00017: 请求...

    Oracle 错误一览表.docx

    - **解决方法**:检查唯一约束定义是否正确,并确保插入的数据不违反这些约束。 ##### orA-00017: 请求会话以设置跟踪事件 - **描述**:用于调试目的,当需要跟踪特定会话的行为时。 - **解决方法**:使用`ALTER ...

    oracle中常用错误代码总结

    5. ORA-00022 至 ORA-00027: 这一系列错误与会话的标识、状态或权限相关,解决方法可能涉及重新连接、验证会话ID的有效性或修复权限设置。 6. ORA-00029: 表示尝试操作的会话不是有效的用户会话,可能需要重新认证...

    ORACLE运行报错.doc

    本文档旨在总结和整理 ORACLE 运行报错大全,涵盖了 ORACLE 运行中可能出现的各种错误代码和解决方法。这些错误代码分为多个类别,包括唯一约束条件错误、会话错误、进程错误、锁定错误、存储错误等等。 唯一约束...

    ORA-01688:unable to extend table name(执行存储过程时的错误).docx

    **解决方法:** 1. **增加数据文件:** 使用`ALTER TABLESPACE ADD DATAFILE`命令可以在现有表空间中添加新的数据文件,从而增加可用空间。例如: ```sql ALTER TABLESPACE CDRS101 ADD DATAFILE '/path/to/new...

    Oracle 错误大全

    - **解决方法**: - 检查数据是否违反了表定义中的唯一约束。 - 使用`ALTER TABLE`语句删除或修改该约束。 - 如果数据本身存在问题,则修正后再尝试操作。 ##### ORA-00017: Out of Memory - **描述**:Oracle...

    ORACLE错误码大全_中文

    解决方法是检查用户的权限,并确保没有其他冲突的跟踪活动。 3. ORA-00018: 超出最大会话数 表示数据库已达到其允许的最大并发会话数。管理员需要检查并调整`MAX_SESSIONS`参数,或者终止不必要的会话。 4. ORA-...

Global site tag (gtag.js) - Google Analytics