查询oracle 数据库里都有哪些表锁死

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询oracle 数据库里都有哪些表锁死相关的知识,希望对你有一定的参考价值。

用如下语句查询锁死的表:

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, all_objects c
 where p.addr = a.paddr
   and a.process = b.process
   and c.object_id = b.object_id;

其中object_name就是被锁的表名,如图:

参考技术A 一般看日志去查找线索
windows 一般在
【ORACLE_BASE】\admin\【SID】\bdump 路径下
死锁发生后,oracle会杀死其中一个process 进行解锁
参考技术B 查锁,
SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL

杀锁
alter system kill session '25,7357'本回答被提问者和网友采纳

查看Oracle都有哪些表或者视图

-- 查询你 当前用户下,有哪些表
SELECT * FROM user_tables

-- 查询你 当前用户下, 可以访问哪些表 [也就是访问自己 和 其他用户的]
SELECT * FROM all_tables

-- 查询当前数据库所有的表, 需要你有 DBA 的权限
SELECT * FROM dba_tables
参考技术A 显示oracle数据库中某对应用户的所有的表以及表的相关信息(如:字段名、字段类型等等)。

select * from user_tab_comments;
select * from user_tab_columns;
select * from user_col_comments;本回答被提问者和网友采纳
参考技术B select * from cat; 查看所有表或视图

以上是关于查询oracle 数据库里都有哪些表锁死的主要内容,如果未能解决你的问题,请参考以下文章

查看Oracle都有哪些表或者视图

如何查询一个oracle数据库中所有表的所有字段哪个包含特定字符串?

如何在sqlplus中查看库中都有哪些表

查看oracle是不是锁表

oracle创建表空间的方法都有哪些

Oracle的表锁死以及解锁