解决oracle锁表的方法

转载 2013年12月04日 17:01:50
1. ORACLE中查看当前系统中锁表情况
select * from v$locked_object
可以通过查询v$locked_object拿到sid和objectid,然后用sid和v$session链表查询是哪里锁的表,用v$session中的objectid字段和dba_objects的id字段关联,查询详细的锁表情况。
查询SQL如下:
select sess.sid,
       sess.serial#,
       lo.oracle_username,
       lo.os_user_name,
       ao.object_name,
       lo.locked_mode
  from v$locked_object lo, dba_objects ao, v$session sess, v$process p
where ao.object_id = lo.object_id
   and lo.session_id = sess.sid;
查询是什么SQL引起了锁表的原因,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#;
2. ORACLE解锁的方法
alter system kill session ’146′;  –146为锁住的进程号,即spid

Oracle 解决锁表问题

前言更新一张表的数据,就几百条,然后特别慢,一直在执行,然后强制退掉,重新执行还是一样,考虑到可能是锁表的问题!解决①首先查找是哪些session被锁:select object_name,machi...
  • aiynmimi
  • aiynmimi
  • 2016年11月04日 11:03
  • 2353

Oracle 锁表的原因,及解决方案

1. ORACLE中查看当前系统中锁表情况 select * from v$locked_object 可以通过查询 v$locked_object拿到sid和objectid, 然后用s...
  • u012425328
  • u012425328
  • 2015年04月12日 11:57
  • 3483

记一次锁表的处理(定位锁的原因及处理)

在ORACLE中,常常会碰到锁阻塞的问题,这时候 我们就需要 利用ORALCE的给的相关视图查出并定位锁的原因  然后根据业务或者其他的实际情况进行业务上的调整或者代码或参数的修改等 ---...
  • hai520ny
  • hai520ny
  • 2016年09月05日 16:27
  • 588

oracle数据库锁表解决办法

当多人同时操作oracle数据库的同一张表的时候,经常会造成锁表现象,这时需要手动进行解锁。 首先:先看下那些表被锁住,程序如下: --1, select b.owner,b.object_na...
  • bulisi888
  • bulisi888
  • 2017年06月11日 16:43
  • 172

查询Oracle正在执行的sql语句,锁表,解锁

原文出处:http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查询Oracle正在执行...
  • zengmingen
  • zengmingen
  • 2016年03月29日 17:29
  • 11110

Oracle 锁表 解除

---------解除锁表 --查看锁表信息 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1...
  • javahepeng
  • javahepeng
  • 2017年02月09日 14:50
  • 392

Oracle表被锁死如何解锁

用dba权限的用户登陆数据库。 1、select * from v$locked_object 查出被锁定的对象,其中object_id是对象的ID,session_id是被锁定对象有session...
  • superhoy
  • superhoy
  • 2013年10月19日 21:39
  • 24333

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

/* *locked *query locked object and analyse reason,kill it * */ select 'alter system kill ses...
  • javaxiaochouyu
  • javaxiaochouyu
  • 2014年09月16日 14:51
  • 18406

oracle 查看锁表 清除锁表

查看Oracle数据库被锁住的表,删除锁表的进程 --1.查看被锁住的表 SELECT dob.object_name table_name, lo.locked_mode, lo.ses...
  • qq359605040
  • qq359605040
  • 2016年04月28日 16:51
  • 455

Oracle锁表查询和解锁方法

数据库操作语句的分类 DDL:数据库模式定义语言,关键字:create DML:数据操纵语言,关键字:Insert、delete、update DCL:数据库控制语言 ,关键字:grant、remov...
  • u013991521
  • u013991521
  • 2016年12月09日 15:12
  • 22839
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决oracle锁表的方法
举报原因:
原因补充:

(最多只允许输入30个字)