我们在操作数据库的时候,有时候会由于操作不当引起数据库表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以查询现在存在的会话,但是我们很难找到那个会话被锁定了,想找到所以被锁的会话就更难了,下面这叫查询语句可以查询出所以被锁的会话。如下:
SELECT sn.username, m.SID,sn.SERIAL#, m.TYPE,
DECODE (m.lmode,
0, 'None',
1, 'Null',
2, 'Row Share',
3, 'Row Excl.',
4, 'Share',
5, 'S/Row Excl.',
6, 'Exclusive',
lmode, LTRIM (TO_CHAR (lmode, '990'))
) lmode,
DECODE (m.request,
0, 'None',
1, 'Null',
2, 'Row Share',
3, 'Row Excl.',
4, 'Share',
5, 'S/Row Excl.',
6, 'Exclusive',
request, LTRIM (TO_CHAR (m.request, '990'))
) request,
m.id1, m.id2
FROM v$session sn, v$lock m
WHERE (sn.SID = m.SID AND m.request != 0)
OR ( sn.SID = m.SID
AND m.request = 0
AND lmode != 4
AND (id1, id2) IN (
SELECT s.id1, s.id2
FROM v$lock s
WHERE request != 0 AND s.id1 = m.id1
AND s.id2 = m.id2)
)ORDER BY id1, id2, m.request;
通过以上查询知道了sid和 SERIAL#就可以开杀了
alter system kill session 'sid,SERIAL#';
相关推荐
### Oracle 查看当前会话执行的SQL语句 在Oracle数据库管理中,有时我们需要了解某个特定会话(Session)正在执行哪些SQL语句。这在性能调优、问题诊断等场景下尤为重要。以下将详细介绍如何通过不同的方法来查看...
在 Linux 下,Oracle 数据库用户锁定的解决方案主要包括使用 SQLPlus 命令行工具解除用户锁定和解决 SQLPlus 命令行工具中的错误。通过这些方法,可以快速解除用户锁定,恢复数据库的正常运行。
2. **行级锁定**:SQL Server支持行级锁定,这意味着只锁定被修改的具体行,而非整个表,这极大地减少了锁定范围。 3. **页面锁定**:对于频繁修改的数据页,SQL Server能够智能地锁定整个页面,而不是单个行,以此...
当发现某个表被锁定且影响了数据库的正常运行时,可能需要解锁相应的会话。这通常发生在调试阶段或处理紧急情况时。 **解锁语法**: ```sql -- 通用格式 ALTER SYSTEM KILL SESSION 'sid,serial#'; -- 示例 ALTER...
### 查询Oracle正在运行的SQL和锁定的表 在Oracle数据库管理与维护中,了解当前正在运行的SQL语句以及被锁定的对象对于性能调优、问题排查等至关重要。本文将详细介绍如何通过Oracle内置视图来查询正在运行的SQL...
如果你不幸删除了整个表,Oracle提供了`FLASHBACK TABLE`命令来恢复被删除的表: ```sql FLASHBACK TABLE 表名 TO BEFORE DROP; ``` 这将恢复表到被删除前的状态。 2. **解除锁定** 在多用户环境下,数据库中...
在Oracle数据库管理过程中,经常会出现表或行被锁定的情况,这可能会导致应用程序出现性能问题甚至挂起。因此,了解如何判断表是否被锁以及如何解锁是非常重要的技能。 #### 一、判断表是否被锁 1. **SQL查询语句*...
4. 锁机制:了解和使用Oracle的锁定机制来处理并发事务,包括乐观锁定和悲观锁定。 5. 数据库触发器:编写触发器来自动执行任务,在数据变更前后提供业务逻辑自动化。 6. 索引优化:分析和创建索引以优化查询性能,...
Oracle 查询用户锁表是指在 Oracle 数据库中查询当前用户锁定的表,以便诊断和解决锁表问题。本文档将详细介绍如何查询用户锁表,并提供相关的代码。 一、查询用户锁表的必要性 在 Oracle 数据库中,锁表是指用户...
本文将深入探讨两个SQL查询语句,它们分别用于检查数据库表和pkg包是否被锁定,以及如何通过这些查询来识别并解决可能存在的锁定问题。 ### 检查数据库表是否被锁定 第一个SQL查询语句主要用于检查数据库中的表...
如果发现某个表被错误地锁定了,可以通过以下命令来解锁: ```sql -- 示例解锁命令 ALTER SYSTEM KILL SESSION '68,10026'; ``` 其中: - **68**:会话SID。 - **10026**:会话序列号。 需要注意的是,在执行解锁...
### Oracle 查看系统对象 SQL 语句 在Oracle数据库中,了解如何查看各种系统对象对于数据库管理员和开发人员来说非常重要。这些系统对象包括表、视图、触发器等,它们对于构建和维护数据库应用程序至关重要。下面...
7. **存储过程和函数**:这些是预编译的SQL和PL/SQL代码块,可以封装复杂的业务逻辑,提高代码复用性和执行效率。 8. **事务和并发控制**:Oracle提供了ACID(原子性、一致性、隔离性和持久性)特性,保证了事务的...
本文将详细介绍一种方法来查看Oracle数据库中表被谁锁定,并通过具体的SQL语句来演示这一过程。 #### 一、SQL语句解读 首先,我们来看一下用于查看锁定信息的SQL语句: ```sql SELECT "SYS"."V_$LOCKED_OBJECT"....
- 在执行DML语句时,Oracle会自动锁定受影响的行或表。 - **7.13.3 按照对象分类锁定** - 锁定可以作用于不同的数据库对象级别,如行级、表级等。 #### 八、创建和管理表 **8.1 数据库对象及表介绍** - 表是...
Oracle SQL,全称为结构化查询语言,是用于管理和操作Oracle数据库的强大工具。它允许用户查询、更新、插入和删除数据,以及创建和管理数据库对象。本资料“Oracle SQL语法大全”将全面涵盖Oracle SQL的基础概念、...
Oracle SQL 官方教程是学习和理解Oracle数据库系统中SQL语言的重要资源,编号为007的教程可能是一个系列教程的一部分。在这个教程中,你将深入掌握如何在Oracle环境中使用SQL进行数据查询、操作、分析以及数据库管理...
本文将详细介绍如何通过SQL查询来查看Oracle数据库中的表空间使用情况。 #### 一、查询表空间基本信息 首先,我们需要登录到Oracle数据库并执行一些基本查询来获取表空间的信息。以下是一个示例脚本,用于获取表...
### Oracle事务、锁表查询及相关实用查询SQL语句 #### 一、Oracle事务管理 在Oracle数据库中,事务是作为一组逻辑操作单元处理的一系列数据库操作。这些操作要么全部成功,要么全部失败,确保了数据的一致性和完整...
《精通Oracle SQL(第2版)》是一本深入解析Oracle数据库查询语言的专业书籍,由Oracle ACE和OakTable团队的专家共同撰写,集成了他们的丰富经验和专业知识。这本书旨在帮助读者掌握Oracle SQL的高级技巧,提升在...