oracle 如何查看锁表
时间: 2023-07-26 21:30:04 浏览: 46
要查看 Oracle 数据库中的锁定表,您可以使用以下 SQL 查询:
```
SELECT
l.session_id,
s.serial#,
l.locked_mode,
l.blocking_session,
l.oracle_username,
s.machine,
s.program,
l.object_name,
l.object_type
FROM
v$locked_object l,
v$session s
WHERE
l.session_id = s.sid;
```
这个查询将返回所有被锁定的对象及其相关的会话和进程信息。如果一个表被锁定,那么它将被列出并显示锁定模式。如果一个会话正在等待另一个会话释放锁定,则查询结果会显示阻塞会话的 ID。
相关问题
oracle 查看锁表的命令
在 Oracle 数据库中,您可以使用以下命令来查看锁表:
```
SELECT
object_name,
object_type,
session_id,
type,
lmode,
request,
block
FROM
v$locked_object;
```
这个命令将返回锁定对象的名称和类型,以及锁定该对象的会话 ID、锁定类型、锁定模式、请求的锁定模式和是否有阻塞。如果一个表被锁定,那么它将被列出并显示锁定模式。如果一个会话正在等待另一个会话释放锁定,则查询结果会显示阻塞会话的 ID。
如何oracle查看锁表进程
请先连接到数据库,然后使用以下查询语句查看锁表进程:
SELECT
s.sid,
s.serial#,
p.spid,
l.lock_type,
l.mode_held,
l.mode_requested,
OBJECT_NAME ,
OBJECT_TYPE
FROM
v$session s,
v$process p,
dba_locks l,
dba_objects d
WHERE
s.paddr = p.addr
AND s.sid = l.session_id
AND l.TYPE = 'TM'
AND l.id1 = d.OBJECT_ID
ORDER BY
s.sid;