在对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】 ';
这样就可以杀掉这个锁了,接着执行你之前想要执行的语句就可以了。
相关推荐
使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查。使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查 使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查
oracle数据库ora-01152和ora-01110的解决办法
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
Drop goldengate用户时,报ORA-00604 ORA-20782 ORA-06512错误
ora-01157处理方案,亲测可用! ora-01157处理方案,亲测可用!
ORACLE ORA-00132 ORA-00214
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
oracle启动失败,ORA-00702报错,windows,linux系统下解决办法
使用过程Oracle 表空间不足时,详细处理办法
客户端进行连接的时候,系统不定期出现ora-12520,ora-12516的连接问题, 问题解决方案建议: 1、增加process和session的连接数。 2、检查连接的应用,是不是有没有释放的连接。 3、将修改参数local_listener中的vip为...
离线误删空间文件导致的ORA-01033及ORA-01145问题的解决办法,在解决ORA-01033的过程中,又出现ORA-01145 * 第 1 行出现错误: ORA-01145: 除非启用了介质恢复, 否则不允许立即脱机 接着的解决步骤
ORA-12541 TNSno listener 的解决方案 ORA-12541 TNSno listener 的解决方案
Oracle_ORA-12518故障_处理,希望在此与大家分享,能够在实际的工作中提高解决问题的能力
oracle数据库优化之后,报错报错“ora-00838”的处理方法
如果内存块仍然不够满足需求,那么就会出现ORA- 04031错误。这些错误同样可能发生在ASM的实例中。默认的共享池的大小基本能够满足大部分的环境,但是如果遇到ORA-04031错误的时候可能就需要增大。 当遇到这个错误的...
OGG之ORA-01403案例,包括这个案例所遇到的错误详解,对使用的参数进行了详细的解说
NULL 博文链接:https://rongren.iteye.com/blog/1886071