首页 > 数据库 >ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效(oracle 锁表)(转载)

ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效(oracle 锁表)(转载)

时间:2023-06-14 20:44:54浏览次数:60  
标签:24183 NOWAIT 锁表 sql t2 session kill sid 00054

1、查看数据库内产生了哪些锁

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;

如:   

USERNAME SIDSERIAL# LOGON_TIME

lurou 851 24183 2013/7/30 11:44:45

知道被锁的用户lurou,sid为851,serial#为24183

2、根据sid查看具体的sql语句

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=&sid order by piece;

输入sid,查询

3、kill该事务

根据业务实际情况,如果sql不重要,可以kill。否则跟现在执行任务但是被阻塞的人说清楚原因就行了,“AAA在执行XXX任务,你的任务优先级序列排在AAA的后面,他的任务跑完了,你就可以运行了,稍等一会。或者你去找AAA,让他停止任务,让你的先运行”

kill的语法如下:alter system kill session 'sid,#serial#';

例如:sid为851,serial#为24183

alter system kill session '851,24183';

 



标签:24183,NOWAIT,锁表,sql,t2,session,kill,sid,00054
From: https://www.cnblogs.com/wxp100/p/17481298.html

相关文章

  • mysql中update会锁表吗
    MySQL中的update操作会不会锁表是一个值得关注的问题,因为这会影响到并发性能和系统的响应速度。本文将从两个方面探讨这个问题:一是有没有索引的情况下,二是MySQL开启了自动提交事务和手动提交事务的情况下。首先,在没有索引的情况下,MySQL的update操作会锁整个表。这是因为在......
  • 1、postgres查看锁表以及释放表
    目录postgres查看锁表以及释放表1、查看锁表2、释放锁表3、使用postgres查看锁表以及释放表1、查看锁表selectpid,state,usename,query,query_startfrompg_stat_activitywherepidin(selectpidfrompg_locksljoinpg_classtonl.......
  • Mysql ALTER TABLE 加字段的时候到底锁不锁表?
    Mysql5.6版本之前更新步骤对原始表加写锁按照原始表和执行语句的定义,重新定义一个空的临时表。对临时表进行添加索引(如果有)。再将原始表中的数据逐条Copy到临时表中。当原始表中的所有记录都被Copy临时表后,将原始表进行删除。再将临时表命名为原始表表名。这样的话整个DDL......
  • SqlServer查询锁表及解锁
    --查询锁表进程selectrequest_session_idspid,OBJECT_NAME(resource_associated_entity_id)tableNamefromsys.dm_tran_lockswhereresource_type='OBJECT'--解锁进程declare@spidintSet@spid=162--锁表进程declare@sqlvarchar(1000)set@sql='kill......
  • 在业务中有个SQL语句导致mysql锁表,该SQL为重要业务使用不能kill,解决方案
    在业务中有个SQL语句导致mysql锁表,该SQL为重要业务使用不能kill,怎么快速恢复如果有一个重要业务正在使用导致了MySQL表的锁定,不能通过终止相关的MySQL进程来解除表锁定,需要采取其他措施来快速恢复业务。以下是一些可能有用的步骤:使用MySQL的SHOWPROCESSLIST命令来查看当前正......
  • 锁表
    开始菜单-->所有程序-->VisualStudio文件夹-->VisualStudioTools-->VS2015开发人员命令提示输入DOS命令:CDCommon7/IDE进入到该工具下的子文件夹中输入:devenv.exe/setup/resetuserdata/resetsettingspostgre1、selectoidfrompg_classwhererelname='可能被锁掉......
  • oracle锁表
    1.查询引起了锁表的原因SELECTl.session_idsid,s.serial#,l.locked_mode,l.oracle_username,s.user#,l.os_user_name,s.machine,s.terminal,a.sql_text,a.actionFROMv$sqlareaa,v$sessions,v......
  • oracle锁表,java代码修改方式如下
    selectb.owner,b.object_name,a.session_id,a.locked_modefromv$locked_objecta,dba_objectsbwhereb.object_id=a.object_id;selectb.username,b.sid,b.serial#,l......
  • oracle锁表处理
    查询sidSELECTl.session_idsid,s.serial#,l.locked_mode,l.oracle_username,l.os_user_name,s.machine,s.terminal,o.object_name,s.logon_timeFROMv$......
  • 解决Oracle锁表情况
    在使用Oracle数据库更新数据的时候,有两种查询方式可以修改编辑数据:selectt.*,t.rowidfromtabletselect*fromtableforupdate在使用第二种方式的时候如果卡住......