返回顶部
首页 > 资讯 > 数据库 >Oracle 查看锁表情况并处理锁表
  • 882
分享到

Oracle 查看锁表情况并处理锁表

2024-04-02 19:04:59 882人浏览 薄情痞子
摘要

/ locked *query locked object and analyse reason,kill it */ select 'alter system kill se

/
locked
*query locked object and analyse reason,kill it

  • */

select 'alter system kill session ''' || SID || ',' || SERIAL# || ''';'
from (select distinct a.sid,
a.Serial#,
status,
Machine,
LOCKWaiT,
loGon_time
from v$session a, v$locked_object b
where (a.status = 'ACTIVE' or a.status = 'INACTIVE')
and a.sid = b.session_id
and b.oracle_USERNAME = 'XYHISTEST' --加上用户名可过滤用户资源
);

/2、批量执行第一步生成的语句
alter system kill session 'sid,serial#';
alter system kill session '6976,33967';
/

/3、查询oracle用户名,机器名,表对象/
SELECT l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
l.os_user_name,
s.machine,
s.terminal,
o.object_name,
s.logon_time
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial#;

/3.或者/
select s.SID, s.OSUSER, p.spid as OSPID, s.MACHINE, s.TERMINAL, s.PROGRAM
from v$session s, v$process p
where s.sid = 6 --session_id
and s.paddr = p.addr;

/4、查询是执行何sql语句导致锁表的/
select b.sql_text
from v$session a, v$sql b
where a.sid = 6 --session_id
and a.SQL_ADDRESS = b.ADDRESS(+);

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 = #149
order by piece;

/5、查询是执行何sql语句导致锁表的/
SELECT l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action
FROM v$sqlarea a, v$session s, v$locked_object l
WHERE l.session_id = s.sid
AND s.prev_sql_addr = a.address
ORDER BY sid, s.serial#;

/6、查看是否有锁表的 SQL/
select 'blocker(' || lb.sid || ':' || sb.username || ')_sql:' ||
qb.sql_text blockers,
'waiter (' || lw.sid || ':' || sw.username || ')_sql:' ||
qw.sql_text waiters
from v$lock lb, v$lock lw, v$session sb, v$session sw, v$sql qb, v$sql qw
where lb.sid = sb.sid
and lw.sid = sw.sid
and sb.prev_sql_addr = qb.address
and sw.sql_address = qw.address
and lb.id1 = lw.id1
and sw.lockwait is not null
and sb.lockwait is null
and lb.block = 1;

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 查看锁表情况并处理锁表

本文链接: https://lsjlt.com/news/34830.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle 查看锁表情况并处理锁表
    / locked *query locked object and analyse reason,kill it */ select 'alter system kill se...
    99+
    2024-04-02
  • mysql怎么查看锁表情况
    你可以使用以下命令来查看MySQL中的锁表情况: 查看当前正在被锁的表: SHOW OPEN TABLES WHERE ...
    99+
    2024-04-09
    mysql
  • oracle什么情况下会锁表
    oracle在数据备份和还原、数据迁移和升级、数据修复和维护、数据加载和清除和数据查询和分析的情况下锁表。在使用表锁时,需要注意合理地控制锁定范围和锁定时间,以提高数据库的性能和并发访问能力。本教程操作环境:windows10系统、Orac...
    99+
    2023-07-10
  • Oracle中查看锁表
    SELECT object_name, machine, s.sid, s.serial#  FROM gv$locked_object l, dba_objects o, gv$sess...
    99+
    2024-04-02
  • MySQL锁情况查看命令
    本文介绍如何在mysql数据库中分析锁的情况及处理思路。 MySQL版本 mysql> select version(); +------------+ | version() | +---------...
    99+
    2023-01-05
    MySQL锁情况查看 MySQL锁情况
  • ORACLE查看表被锁和删除锁
    (1)锁表查询的代码有以下的形式: select count(*) from v$locked_object; select * from v$locked_object; (2)查看哪个表被锁 select...
    99+
    2018-09-19
    ORACLE查看表被锁和删除锁
  • oracle查看被锁的表和解锁
    --以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT ...
    99+
    2024-04-02
  • MySQL DDL锁表情况分析
    这篇文章主要介绍“MySQL DDL锁表情况分析”,在日常操作中,相信很多人在MySQL DDL锁表情况分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL DDL锁...
    99+
    2024-04-02
  • 查看oracle被锁的表是谁锁的
    SELECT b.session_id AS sid,         NVL(b.or...
    99+
    2024-04-02
  • Oracle数据库出现锁表情况分析
    Oracle数据库出现锁表情况分析: -- 查询所有会话的状态、等待类型及当前正在执行的SQL脚本 select se.SID, se.SERIAL#, se.Status, se.Event, se.BLOCKING_SESS...
    99+
    2014-12-21
    Oracle数据库出现锁表情况分析 数据库入门 数据库基础教程 数据库 mysql
  • MySQL之insert update delete 锁表情况
    描述:本文主要描述了MySQL DML锁的现象 在此说明,update与delete产生的锁现象是一样的。 表信息: 情况一:有主键,insert 仅仅锁当前行的数据事务一: 事务二: 由此可见并没有出...
    99+
    2024-04-02
  • mysql什么情况下会锁表
    在MySQL中,当对表进行写操作(如INSERT、UPDATE、DELETE)时,需要对相关的数据行加锁以确保数据的一致性和完整性。在某些情况下,MySQL需要锁定整个表而不是部分行,这种情况下会锁定整个表,导致其他会话不能访问表。 使用A...
    99+
    2023-08-17
    mysql java
  • oracle怎么查看表分区情况
    要查看Oracle表的分区情况,可以使用以下方法:1. 使用`DBA_TAB_PARTITIONS`视图:这个视图包含了所有表的分区...
    99+
    2023-08-30
    oracle
  • oracle怎么查看表授权情况
    在Oracle数据库中,您可以使用以下查询语句来查看表的授权情况: SELECT * FROM USER_TAB_PRIVS...
    99+
    2024-05-13
    oracle
  • oracle怎么查看锁表的原因
    oracle锁表的原因是:当一个程序执行了对一个表的insert,并且还未commite时,另一个程序也对同一个表进行insert,则此时就会发生资源正忙的异常,也就是锁表。本教程操作系统:windows10系统、Oracle 19c版本、...
    99+
    2023-07-10
  • oracle怎么查看表是否被锁
    要查看表是否被锁,可以使用以下SQL查询语句: SELECT OBJECT_NAME, SESSION_ID, LOCKED...
    99+
    2024-05-21
    oracle
  • oracle查询锁表怎么解锁
    oracle 查询语句被锁定时,可通过以下步骤解锁:确定被锁会话 id。终止被锁会话。验证解锁成功。如涉及多个表或会话,重复以上步骤。备份数据,避免解锁带来的数据丢失。考虑显式锁提示(n...
    99+
    2024-05-21
    oracle 数据丢失
  • oracle表空间使用情况怎么查看
    这篇文章主要介绍“oracle表空间使用情况怎么查看”,在日常操作中,相信很多人在oracle表空间使用情况怎么查看问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”oracle...
    99+
    2024-04-02
  • oracle怎么查看表空间使用情况
    要查看Oracle数据库中的表空间使用情况,可以使用以下方法:1. 使用Oracle提供的系统视图DBA_TABLESPACES:执...
    99+
    2023-08-18
    oracle
  • 如何查看oracle表空间使用情况
    要查看Oracle表空间的使用情况,可以使用以下几种方法: 使用Oracle SQL Developer工具:在SQL Deve...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作