最近遇到这样一个问题,操作一个表,发现被人锁定了,于是查询谁锁定的表,发现多人锁定,安全起见,不能全部kill,于是用一下语句判定,谁锁定,谁等待。
SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
ORDER BY o.object_id,xidusn DESC
// 查询到的结果如下
如果发生了锁等待,我们可能更想知道是谁锁了表而引起谁的等待
以上的语句可以查询到谁锁了表,而谁在等待。
以上查询结果是一个树状结构,如果有子节点,则表示有等待发生。
如果想知道锁用了哪个回滚段,还可以关联到V$rollname,其中xidusn就是回滚段的USN
找出谁锁定的记录,kill掉就行了。
alter system kill session '133,3506' ;
分享到:
相关推荐
### Oracle锁表与解锁详解 在Oracle数据库管理中,锁是一种关键机制,用于控制多个用户对数据资源的并发访问,防止数据冲突和不一致。本文将深入探讨Oracle中检查锁表的方法以及如何对表进行解锁。 #### Oracle锁...
ORACLE 进程无法 KILL 处理方案 在 ORACLE 数据库中,当我们尝试 kill 一个进程时,可能会出现状态被置为 "KILLED" 但是锁定的资源长时间不释放的情况,这会导致错误提示 ORA-00030: User session ID does not ...
### 处理Oracle中难以清除的锁定状况 在Oracle数据库管理与维护过程中,经常会遇到一些棘手的问题,比如某些锁定无法通过常规手段解除。本文将详细介绍如何处理Oracle中那些难以解决的锁定问题,并提供一系列实用的...
- **解析:** 在Oracle中,使用`FOR UPDATE`子句可以在表的一行或多行上放置排他锁,这样可以防止其他事务修改被锁定的行,直到当前事务完成或释放锁。 - **答案:** B.FOR UPDATE #### 10. 分区操作 - **题目:** 如何...
本篇文章将深入探讨锁表的SESSION处理方法,包括如何查询被锁住的SESSION信息,理解各种锁类型以及如何结束导致锁问题的SESSION。 首先,通过以下SQL查询,我们可以获取到锁表的SESSION_ID以及相关详细信息: ```...
- **并发控制**:通过锁机制等方法来保证多个事务同时操作数据时不会发生冲突。 - **数据一致性**:保证数据的准确性和可靠性。 ##### 2. 可管理性 - **自动化管理**:简化数据库管理任务,减少人为错误。 - **...
Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装)...49. 怎样快速查出Oracle 数据库中的锁等待 50. 怎样在SQLPlus中使用 '&' 来实现自定义参数变量? 51. 怎样在查询记录时给记录加锁 52. 自动备份Oracle数据库
2. **对S、C、SC表进行操作**:S、C和SC可能是学生、课程和选课关系的表,可能包括插入新记录、更新已有记录或删除记录。 在Oracle数据库实验中,理解并熟练掌握这些基础操作是至关重要的,因为它们构成了数据库...
Non-PCM 锁的兼容关系和处理流程与 PCM 锁不同。 Cache Fusion Scenario 以下是 Cache Fusion 机制在 RAC 环境中的应用场景: 场景 1:4 节点 RAC 数据库,资源主节点为 D 节点,节点 C 要求读取一个数据块。 ...
Oracle数据库出现死锁的时候可以按照以下处理步骤加以解决: 第一步:尝试在sqlplus中通过sql命令进行删除,如果能够删除成功,则万事大吉!但通常情况下,出现死锁时,想通过命令行或者通过Oracle的管理工具删除有...
### Oracle游标使用详解 ...游标是Oracle数据库中处理多行数据的关键机制,无论是简单查询还是复杂的多表关联,显式游标都能提供灵活且高效的数据处理方式。掌握游标的使用方法对于任何Oracle开发者而言都是必备技能。
除了本文介绍的知识点,你可能还对以下相关主题感兴趣:Oracle查询锁表及解锁方法、修改表字段名、复制表结构和数据、深入探讨Oracle中查询和释放被锁用户以及表的方法等。持续学习和实践这些技能,将有助于提升你在...
ora-00031:session marked for kill处理oracle中杀不掉的锁一些ORACLE中的进程被杀掉后,状态被置为”killed”,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那...
oci.dll文件是Oracle客户端或者服务器端用来与Oracle数据库进行交互的关键部分,它提供了C语言接口,使得开发者能够用C或C++编写应用程序来访问和操作Oracle数据库。 Oracle OCI是一个全面的API(应用程序编程接口...
Oracle试题解析: 一、单项选择题 1. 在PL/SQL块中,如果不确定变量对应...以上内容涵盖了Oracle数据库的基本操作,如变量定义、SQL查询、游标使用、锁管理、PL/SQL异常处理、数据类型自动匹配以及表间查询等知识点。
Oracle允许创建自定义的表类型,如文档中提到的`D_SERIAL_NUMBER`等,这些类型可以用于存储数组,方便批量操作。然而,使用自定义类型批量入库可能会影响性能,因为它们需要额外的解析和处理。 2. **Oracle的基本...
在Oracle数据库管理中,有时会出现由于并发操作导致的表锁定问题,这可能会影响到数据库的正常运行和业务处理。本文将详细介绍如何查找被锁的表以及如何解锁这些表,以确保数据库系统的稳定性和效率。 首先,要查找...
虽然文档内容没有直接提及,但Oracle数据库具备事务处理能力,并且支持多种类型的锁,保证并发环境下的数据一致性和完整性。在开发过程中,了解事务隔离级别和锁策略对于编写高性能和高可靠性的代码至关重要。 8. ...
**解析**: 当在Oracle中创建用户时,如果没有指定默认表空间(通过`DEFAULT TABLESPACE`),那么Oracle将会自动分配一个默认表空间给这个新用户。默认情况下,通常是`SYSTEM`表空间被用作用户的默认表空间。需要注意...
根据提供的文档信息,本文将详细解析IntelliJ IDEA的安装步骤与使用说明,并结合Oracle数据库的安装、配置、测试及故障排除方法进行阐述。 ### IntelliJ IDEA 的安装与使用 #### 安装前准备 1. **关闭安全软件**...