`
kiddwyl
  • 浏览: 403509 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle 被锁,解锁,阻塞语句

阅读更多
//查询被锁的表
select A.sid, b.serial#,
decode(A.type,
    'MR', 'Media Recovery',
    'RT','Redo Thread',
    'UN','User Name',
    'TX', 'Transaction',
    'TM', 'DML',
    'UL', 'PL/SQL User Lock',
    'DX', 'Distributed Xaction',
    'CF', 'Control File',
    'IS', 'Instance State',
    'FS', 'File Set',
    'IR', 'Instance Recovery',
    'ST', 'Disk Space Transaction',
    'TS', 'Temp Segment',
    'IV', 'Library Cache Invalida-tion',
    'LS', 'Log Start or Switch',
    'RW', 'Row Wait',
    'SQ', 'Sequence Number',
    'TE', 'Extend Table',
    'TT', 'Temp Table',
    'Unknown') LockType,
c.object_name,
b.username,
b.osuser,
decode(a.lmode,   0, 'None',
            1, 'Null',
            2, 'Row-S',
            3, 'Row-X',
            4, 'Share',
            5, 'S/Row-X',
            6, 'Exclusive', 'Unknown') LockMode,
B.MACHINE,D.SPID
from v$lock a,v$session b,all_objects c,V$PROCESS D
where a.sid=b.sid and a.type in ('TM','TX')
and c.object_id=a.id1
AND B.PADDR=D.ADDR

//用于解锁
alter system kill session 'SID,SERIAL#'

//获得引起阻塞得源头语句(先需要获得sid然后查询,如160)
select sql_text from v$sqlarea
where (v$sqlarea.address, v$sqlarea.hash_value) in (
    select sql_address, sql_hash_value
       from v$session
where sid in(
select sid from v$session a,x$kglpn b
where a.saddr = b.kglpnuse
and b.kglpnmod <> 0
and b.kglpnmod in (select p1raw from v$session_wait where sid=170 and event like 'library%')
        )
)
分享到:
评论

相关推荐

    ORACLE解锁方法的一点资料

    本文将详细介绍Oracle解锁方法的相关知识点,包括如何识别锁定的会话(session)、如何查看锁定的SQL语句以及如何解除锁定。 #### 二、识别锁定的会话 在Oracle数据库中,当一个会话被另一个会话锁定时,通常会遇到...

    Oracle表死锁与解锁

    - 在编程时,对可能出现死锁的操作进行预测和处理,例如使用事务的乐观锁或悲观锁策略。 通过理解Oracle表死锁的原理、使用上述检测和解决方法,以及遵循最佳实践,可以有效地管理和防止数据库死锁,保证系统的稳定...

    Oracle 死锁问题的排查语句

    Oracle 死锁问题的排查语句 Oracle 死锁是指在数据库中出现的循环等待资源的情形,从而导致数据库性能下降或系统崩溃。出现死锁的原因有多种,如资源竞争、锁定机制不当等。下面是排查 Oracle 死锁问题的语句: 1....

    oracle表解锁

    这个查询将生成解锁锁定会话的SQL语句,按照登录时间排序,帮助你确定哪个会话应该首先被处理。 3. **解锁会话** 执行生成的`ALTER SYSTEM KILL SESSION`命令来结束锁定会话。例如,如果查询结果中显示`sid=156, ...

    表是否被锁住

    在Oracle数据库管理中,了解如何查询表是否被锁定以及如何执行解锁操作是至关重要的技能,尤其是在处理并发事务、性能调优或解决死锁问题时。本文将深入探讨Oracle中的表锁机制,包括如何识别锁定的表,理解不同类型...

    java调用Oracle的锁表命令

    首先,Oracle数据库提供了多种锁类型,如共享锁(读锁)和独占锁(写锁),用于控制不同级别的并发访问。在Java中,我们通常通过JDBC(Java Database Connectivity)API来执行SQL命令,包括锁定和解锁表。 1. **...

    快速查找oracle锁对象

    在并发环境下,如果一个事务持有了某个资源的锁,其他试图访问该资源的事务就会被阻塞,直到锁被释放。 "快速查找Oracle锁对象"的方法通常包括以下几个步骤: 1. **使用V$SESSION和V$LOCK视图**:Oracle提供了一些...

    分布式锁处理步骤

    在Oracle数据库中,分布式事务处理可能会导致分布式锁的存在,这些锁如果不正确地处理,可能会引起系统的性能问题甚至阻塞。以下是对分布式锁处理步骤的详细解释: 第一步:检查是否存在分布式锁 通过执行SQL查询`...

    理解ORACLE数据库锁机制高效维护医院信息系统运行.pdf

    本文主要探讨Oracle数据库中的TM锁和TX锁机制,以及如何解决由锁引起的事务阻塞问题。 首先,Oracle的TM(Transaction Manager)锁机制是用于控制事务对数据的并发访问。TM锁主要有四种类型:SS(Shared Shared)、...

    oracle锁表查询

    ### Oracle锁表查询知识点 #### 一、Oracle锁机制简介 在Oracle数据库中,为了确保数据的一致性和并发性,采用了一种称为“锁”的机制来控制对数据资源的访问。锁可以防止多个用户同时修改同一数据,从而避免数据...

    Oracle数据库维护手册

    通过DBA_LOCKS视图可查看锁信息,适时解锁或调整事务以减少冲突。 2.12 SQL语句执行技巧 优化SQL是提升数据库性能的重要手段,包括编写高效的查询语句,使用绑定变量,分析SQL执行计划等。 2.13 表空间的管理 表...

    ORACLE锁机制深入理解

    Oracle数据库的锁机制是确保数据一致性与并发控制的关键技术,主要分为两大类:排它锁(X锁)和共享锁(S锁)。排它锁不允许其他事务读取或修改锁定的数据,而共享锁则允许其他事务读取但不允许修改。在Oracle中,锁...

    queryreatch_oracle_

    查询被锁对象及其信息是数据库管理员在日常维护工作中经常会遇到的问题,尤其是在并发事务处理频繁的环境中。Oracle提供了丰富的工具和命令来帮助我们诊断和解决这类问题。 首先,了解数据库锁定的基本概念是必要的...

    查看Oracle中是否有锁表的sql

    2. **查看被锁的表** 要找出被锁定的表,可以执行以下查询: ```sql select p.spid,a.serial#,c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b...

    oracle中UPDATE nowait 的使用方法介绍

    如果这行数据当前已被其他事务锁定,`UPDATE NOWAIT`将不会阻塞并等待锁的释放,而是立即抛出一个`ORA-00054: resource busy and acquire with NOWAIT specified`异常。这使得你可以快速响应数据被锁定的情况,而...

    数据库面试题(SQL+ORACLE).

    - **两段锁协议**:一种防止死锁发生的机制,分为加锁阶段和解锁阶段。 #### 十一、死锁及处理 - **死锁**:两个或多个事务无限期阻塞彼此,无法继续执行的情况。 - 处理方法: - **预防死锁**:通过限制事务请求...

    MySQL中的行级锁、表级锁、页级锁

    然而,行级锁的缺点在于其开销较大,加锁和解锁的操作相对缓慢,并且如果使用不当,很容易出现死锁的情况。 具体而言,MySQL的InnoDB存储引擎支持行级锁,这一特性也是其受青睐的原因之一。行级锁通过索引项加锁,...

    系统监控及异常处理

    1. **登录数据库并查锁**:使用如下的SQL查询语句来查找所有的锁定记录:`Select Owner, Oracle_Username, Os_User_Name, Object_Name, Session`。 2. **批量终止锁定记录**:基于查询结果,编写并执行批量终止锁定...

Global site tag (gtag.js) - Google Analytics