美文网首页
ORA-00054: 资源正忙 --锁表的解决方法

ORA-00054: 资源正忙 --锁表的解决方法

作者: 52d3a1968d95 | 来源:发表于2020-10-16 11:21 被阅读0次

1 原因

一般在用户修改记录之前,悲观锁就会发生作用,比如更新语句:

select..forupdate

执行这条命令之后,oracle 将会对返回集中的数据建立行级封锁,以防止其他用户修改这些记录。

这时如果对这张表进行 ddl 操作将就会报 ORA-00054 错误。

一张表如果加了表级锁,那么就不允许对该表进行任何的 ddl 操作,否则也会报 ora-00054 错误。

2 解决

1.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;

session_id 为会话 ID。

object_name 表名。

1.2 找出引发锁的会话

selects.username,s.sid,s.serial#,s.logon_time from v$locked_object l,v$sessions where l.session_id=s.sidorderbys.logon_time;

其中的 serial# 是我们需要用到的会话序列号。

1.3 杀掉会话

命令格式为:alter system kill session 'sid,serial#'

比如:

alter system kill session '115,7355';

是不是很简单呀 O(∩_∩)O哈哈~

相关文章

  • ORA-00054: 资源正忙 --锁表的解决方法

    1 原因 一般在用户修改记录之前,悲观锁就会发生作用,比如更新语句: select..forupdate 执行这条...

  • oracle报错 ORA-00054 资源正忙

    1、报错原因创建或修改表结构时,提示 ORA-00054: resource busy and acquire w...

  • mysql中的"锁"事儿总结

    定义 关于mysql中的锁,是用于管理不同事务对共享资源的并发访问的问题,分为行锁和表锁。 表锁与行锁的区别: 锁...

  • Mysql 工具

    数据量大的表修改表结构时,锁表时间太长 解决方法1. 业务不繁忙时修改2. 使用pt-osc工具 percon...

  • 2018-07-06-Linux常规问题

    无法获得锁/var/lib/dpkg/lock - open (11:资源暂时不可用) 解决方法: 结果终端提示:...

  • oracleora-0005资源正忙

    SELECT sid, serial#, username, osuser FROM vlocked_object)

  • mysql表锁死解决方法

    SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; 杀死进程id(就是上面命...

  • MySQL锁机制

    MySQL中主要有两种锁:行级锁和表级锁:行级锁(row-level):特点是锁定对象的粒度小,发生锁定资源争用的...

  • 自旋锁

    竞争资源时,总有进程获得对象,而对于没获得资源的进程的处理就有各种不同的解决方法了,我们可以使没获得锁的进程 一直...

  • 关于并发

    1.前端 按钮的重复点击问题,特别是要向后台发送异步请求更改资源.解决方法,可以利用锁机制,定义一个资源,有请求过...

网友评论

      本文标题:ORA-00054: 资源正忙 --锁表的解决方法

      本文链接:https://www.haomeiwen.com/subject/jnkzpktx.html